---
title: "leta igenom XML dokument med for loop"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/112006-leta-igenom-xml-dokument-med-for-loop"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "constig"
published: "2004-09-20T19:54:32.000Z"
updated: "2004-09-21T17:49:34.000Z"
replies: 3
views: 291
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/flash/112006-leta-igenom-xml-dokument-med-for-loop"
---

# leta igenom XML dokument med for loop

## #1 — constig, 2004-09-20T19:54Z

på dom gamla glada dagarna då jag alltid publicerade mina flash filer i 6.0 varianten fungerande följande kod snutt utomordentligt då jag ville leta igenom ett större xml dokument efter just dom taggarna vars innehåll jag ville skriva ut i ett textfield

```
my_xml = new XML();
my_xml.load("book.xml");
my_xml.onLoad = function(success)
{
if(success)
{createTextField("books",1,50,50,100,200);
for(i=0;i<my_xml.childNodes.length;i++)
{
if(my_xml.childNodes[i].nodeName.toUppercase()=="BOOKS")
{
books.text += my_xml.childNodes[i].firstChild.nodeValue + "\n";
}
}
}
};
```

 

men sen jag började publicera i flash player 7.0 så funkar inte "if(my_xml.childNodes*.nodeName.toUppercase()=="BOOKS")" längre, finns det någon här som kan förklara varför för mej, kanske till och med kasta lite ljus över problemet..*

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

## #2 — mirandir, 2004-09-20T21:25Z

Därför att Flash MX 2004 alltid lägger till  "this" framför om du inte anger annat(t.ex: \_root). Så om du tar bort my_xml i början eller ändrar det till "this" så skall det funka. 

eftersom onLoad är en "metod" till my_xml så pekar ju "this" på just my_xml.

```
if(this.childNodes[i].nodeName.toUppercase()=="BOOKS")
```

/Mirandir

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

## #3 — constig, 2004-09-21T15:52Z

så här menar du?:

```
my_xml = new XML();
my_xml.load("book.xml");
my_xml.onLoad = function(success)
{
	if(success)
	{
		createTextField("books",1,50,50,100,200);
		for(i=0;i<this.childNodes.length;i++)
		{
			if(this.childNodes[i].nodeName.toUppercase()=="BOOKS")
			{
				books.text+=(this.childNodes[i].firstChild.nodeValue + "\n");
				trace(this.childNodes[i].firstChild.nodeValue);
			}
		}
	}
};
```

 

funkar fortfarande bara i flash player 6, i sjuan händer det ingenting

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

## #4 — mirandir, 2004-09-21T17:49Z

Skriver den ut rätt i trace() kommandot? Eller är den också "död"?

Tänk på att den förmodligen antar "this" framför books.text också. Dessutom tror jag att du måste peka createTextField på en tidslinje... 

Men jag är inte 100% säker då jag inte äger MX 2004. 

/Mirandir

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/112006-leta-igenom-xml-dokument-med-for-loop
