---
title: "leta i xml-fil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/137833-leta-i-xml-fil"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "paraxe"
published: "2005-11-17T12:54:19.000Z"
updated: "2005-11-18T15:31:38.000Z"
replies: 4
views: 326
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/137833-leta-i-xml-fil"
---

# leta i xml-fil

## #1 — paraxe, 2005-11-17T12:54Z

Hej.

Har denna xml-fil som jag vill plocka ut värdet ur noden; \<definition id="22"\>värde\</definition\>

<http://www.regelratt.se/definitions.xml>

Där attributet id är ett värde.

Har kommit så lång att jag nog laddar xml-dokumentet.

```
function importXML()
{
	if (document.implementation && document.implementation.createDocument)
	{
		xmlDoc = document.implementation.createDocument("", "", null);
		
	}
	else if (window.ActiveXObject)
	{
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		
 	}
	else
	{
		alert('Your browser can\'t handle this script');
		return;
	}
	xmlDoc.load("/rrs/inc/definitions.xml");
}
```

 

Hade tänkt mig en loop i en function som matchar att argument med id attributet.

Någon som känner sig frisk nog att hjälpa till?

Permalänk: https://www.webforum.nu/p/137833

## #2 — paraxe, 2005-11-17T13:57Z

Hade tänkt mig nåt sånt här:

```
function myFunction2(id)
	{
		importXML();
		var toReturn;
		var xml_doc = xmlDoc.getElementsByTagName("definitions");
		var i;
		var elems = xml_doc;
		
		for (i = 0; i < elems.length; i++)
		{
			element = elems.item[i];
			attr = element.getAttribute("id");
			if(attr == id)
				toReturn = element.getAttribute("word");
		}
	
		return toReturn;
	}
```

Men inget returneras, buhuuu :(

Mvh

Pär

Permalänk: https://www.webforum.nu/p/1711822

## #3 — paraxe, 2005-11-17T17:18Z

Okej, nu har jag fått det att fungerar med IE.

```
var xmlDoc
function loadXML()
{
	//load xml file
	// code for IE
	if (window.ActiveXObject)
	{
	xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	xmlDoc.async=false;
	xmlDoc.load("inc/definitions.xml");
	}
	// code for Mozilla, etc.
	else if (document.implementation &&
	document.implementation.createDocument)
	{
	xmlDoc= document.implementation.createDocument("","",null);
	xmlDoc.load("inc/definitions.xml");
	}
	else
	{
	alert('Your browser cannot handle this script');
	}
}

function testing(id)
{
	loadXML();
	var toReturn;
	var i;
	for(i=0; i < xmlDoc.documentElement.childNodes.length; i++)
	{
		if(xmlDoc.documentElement.childNodes(i).getAttribute("id") == id)
		{
			toReturn = HtmlDecode(xmlDoc.documentElement.childNodes(i).text);
		}
	}
	return toReturn;
}
```

 

Men när jag kör med FF så får jag felmeddelande:

> xmlDoc.documentElement has no properties

Någon som har en aning om vad som kan vara fel?

Mvh

Pär

Permalänk: https://www.webforum.nu/p/1711906

## #4 — Peter S, 2005-11-17T21:32Z

Testa:

```
window.onload = loadXML;

function testing(id)
{
	var toReturn;
	var i;
	var elms = xmlDoc.getElementsByTagName("definition");
	for(i=0; i < elms.length; i++)
	{
		if(elms[i].getAttribute("id") == id)
		{
			return HtmlDecode(elms[i].childNodes[0].nodeValue);
		}
	}
	return null;
}
```

Permalänk: https://www.webforum.nu/p/1712032

## #5 — paraxe, 2005-11-18T15:31Z

Nu är jag nöjd med dig Peter S, du kan din javascript!!

Danke!!!

Permalänk: https://www.webforum.nu/p/1712391

---

Tråden på webben: https://www.webforum.nu/amne/javascript/137833-leta-i-xml-fil
