---
title: "xml >> nextSibling / childNodes"
type: "forum-thread"
url: "https://www.webforum.nu/amne/flash/74729-xml-nextsibling-childnodes"
topic: "Flash"
topic_url: "https://www.webforum.nu/amne/flash"
author: "roady"
published: "2003-04-22T19:58:17.000Z"
updated: "2003-04-27T22:05:21.000Z"
replies: 9
views: 452
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/74729-xml-nextsibling-childnodes"
---

# xml >> nextSibling / childNodes

## #1 — roady, 2003-04-22T19:58Z

hur använder man för att plocka ut information från en xml-fil.
Har t.ex en xmlfil som ser ut såhär.

```
<?xml version="1.0" encoding="iso-8859-1"?>
<info>
	<case id="001" working="1">
[red]		<title>Destruct</title>
		<desc>Vi testar ett fint exempel</desc>
		<photo>name1.jpg</photo>
		<photo>name1.jpg</photo>
		<photo>name1.jpg</photo>[/red]
	</case>
	<case id="002" working="1">
[red]		<title>Testing</title>
		<desc>Mauching os for anotheront</desc>
		<photo>name1.jpg</photo>
		<photo>name1.jpg</photo>
		<photo>name1.jpg</photo>[/red]
	</case>
</info>
```

koden jag använder ser ut såhär...

```
var myXML;
	myXML = new XML();
	myXML.ignoreWhite = true;
	myXML.onLoad = loadedXML;
	myXML.load("cases.xml");

function loadedXML() {

for (i=0; i<myXML.firstChild.childNodes.length; i++) {
	trace(myXML.firstChild.childNodes[i].nodeName);
	trace(myXML.firstChild.childNodes[i].attributes.id);
	trace(myXML.firstChild.childNodes[i].attributes.working);
	}
}
```

problemet är att jag får inte ut xml:n som är röd. hur gör jag det, gör man såhär eller skall jag göra på något annat sätt osv.

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

## #2 — Darren, 2003-04-22T20:08Z

Testa med detta...

```
var myXML;
myXML = new XML();
myXML.ignoreWhite = true;
myXML.onLoad = loadedXML;
myXML.load("cases.xml");

function loadedXML() {

    var children = myXML.firstChild.childNodes;

    for (i=0; i<children.length; i++) {
        trace(children[i].nodeName);
        trace(children[i].attributes.id);
        trace(children[i].attributes.working);

        var caseChildren = children[i].childNodes;

        for (a=0; a<caseChildren.length; a++) {
            trace(caseChildren[a].nodeName);
        }
    }
}
```

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

## #3 — roady, 2003-04-22T20:10Z

funkade helt kanon... tummen upp  :bire

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

## #4 — niko, 2003-04-24T18:03Z

Får jag passa på att ställa en följdfråga i samma tråd? När jag testar Darrens kod med samma XML-fil men provar:

```
trace(caseChildren[a].nodeValue);
```

istället för:

```
trace(caseChildren[a].nodeName);
```

.. så printar den alltid null ..? *nodeType* returnerar också "1" vilket enligt [denna](http://www.macromedia.com/support/flash/action_scripts/actionscript_dictionary/actionscript_dictionary847.html) sida betyder att det inte är en textnod? Har jag missuppfattat nåt eller är det en bugg?

Använder Flash MX.

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

## #5 — Rödalacket, 2003-04-25T01:27Z

Vill du ha ut värdet från \<photo\>?
trace(caseChildren\[a\].firstChild);

trace(caseChildren\[a\].nodeType); blir 1
trace(caseChildren\[a\].firstChild.nodeType); blir 3

> Property (read-only); takes or returns a nodeType value, where 1 is an XML element and 3 is a text node.

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

## #6 — niko, 2003-04-25T08:25Z

OK! Nu fattar jag. Jag måste skriva *caseChildren\[a\].firstChild.nodeValue* för att få ut nodvärdet? I min logik så borde det räcka med *caseChildren\[a\].nodeValue* eftersom det ju inte finns nån "child". Men bara det funkar så .. Tack.

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

## #7 — Darren, 2003-04-25T10:48Z

> **niko skrev:**
>
> OK! Nu fattar jag. Jag måste skriva *caseChildren\[a\].firstChild.nodeValue* för att få ut nodvärdet? I min logik så borde det räcka med *caseChildren\[a\].nodeValue* eftersom det ju inte finns nån "child". Men bara det funkar så .. Tack.

Din logik är det inget fel på iaf... Jag tycker likadant. Men att det inte fungerar som du och jag vill, det är en annan femma.  :e

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

## #8 — niko, 2003-04-27T10:05Z

Ja, jo .. som sagt inte direkt intuitivt men bara man vet vad som gäller.

En ny (sista) fråga:

Finns det möjlighet att få XML-objektet att återge å,ä,ö korrekt (både i nod- och attributvärden)? Den verkar inte bry sig så mycket om vilken encoding jag anger. Finns dessa tecken dessutom i ett attributvärde så avbryts parsningen (i koden ovan), vilket inte är bra.

Jag testar just nu möjligheten att använda Flash som en tilläggsklient mot ett existerande system och det skulle vara bra om det fungerade rakt av utan att man behövde specialanpassa XML:en för Flash.

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

## #9 — Rödalacket, 2003-04-27T21:35Z

\<?xml version="1.0" encoding="iso-8859-1"?\>
och System.useCodePage = true i första framen i flashen skall nog fixa biffen.

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

## #10 — niko, 2003-04-27T22:05Z

> **Rödalacket skrev:**
>
> System.useCodePage = true i första framen i flashen skall nog fixa biffen

 :) 
Japp, det funkade. Det var sista pusselbiten, nu har jag vad jag behöver. Tack.

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

---

Tråden på webben: https://www.webforum.nu/amne/flash/74729-xml-nextsibling-childnodes
