PDA

Volledige versie bekijken : XML - childnodes etc.


Zanthr
%Europe/Berlin %557 %2005, 14:23
Hi,

Ik heb een XML met de volgende structuur:

<?xml version="1.0"?>
<ftx>
<company>
<com>
<map>Home \ Company</map>
<title>Company</title>
<content><![CDATA[Dit is een tekst over een tekst over een tekst over een tekst over ....]]></content>
<key1>A'dam</key1>
<key2>Information</key2>
<key3>Zanthr</key3>
<key4>Flash</key4>
</com>

<com>
<map>Home \ Company \ Support</map>
<title>Company</title>
<content><![CDATA[Aanschouw hier de heilige crypte der: SUPPORT! Voor al uw hulp en vragen...]]></content>
<key1>Nieuw Vennep</key1>
<key2>Information</key2>
<key3>vultekst</key3>
<key4>bijtekst</key4>
</com>
</company>

<enterprise>
<ent>
<map>Home \ Company</map>
<title>Company</title>
<content><![CDATA[Dit is een tekst over een tekst over een tekst over een tekst over ....]]></content>
<key1>A'dam</key1>
<key2>Information</key2>
<key3>Zanthr</key3>
<key4>Flash</key4>
</ent>

<ent>
<map>Home \ Company \ Support</map>
<title>Company</title>
<content><![CDATA[Aanschouw hier de heilige crypte der: SUPPORT! Voor al uw hulp en vragen...]]></content>
<key1>Nieuw Vennep</key1>
<key2>Information</key2>
<key3>vultekst</key3>
<key4>bijtekst</key4>
</ent>
</enterprise>
</ftx>

Nu zit ik een beetje met de structuur die ik nodig heb om hem in Flash te kunnen aanroepen dmv AS.
Dit is dus het verhaal this.firstchild.childnode[0]... etc.

Diverse sites hierover bekeken, maar toch is het mij niet duidelijk. Kan iemand mij aan de hand van bovenstaande code een voorbeeld geven wat hierbij de childnode-etc string is?

lord Greystoke
%Europe/Berlin %786 %2005, 19:52
Hi,

heb ff geen tijd om een volledig uitgewerkt antwoord te fixen.
Maar in ieder geval:
<ftx> is je firstChild
in <ftx> bevinden zich weer 2 childNodes : <company> & <enterprises>

in <com> is weer een childNode van <company>
<map><title><content><key1><key2><key3> en <key4> zijn weer kinderen van <com>


en je moet het als volgt ongeveer gaan fixen:

ftx = this.firstChild;
company = ftx.firstChild;

for(var i =0; i < company.childNodes.length; i++)
{
com = company.childNodes[i];
map = com.childNodes[0].nodevalue;
title = com.childNodes[1].nodevalue;
// etc.
} // end for


Sorry, geen tijd om het verder uit te werken.
Hieronder nog de functie om xml te laden.



function read_XML(xml_file) {
get_XML = new XML();
get_XML.ignoreWhite = true;
get_XML.onLoad = function()
{
var ftx, company, com, enterprise, map, title, content, key1, key2, key3, key4;
ftx = this.firstChild;

// checken of "kinderen" bestaan
if (ftx.hasChildNodes())
{
// kinderen bestaan, loopen door kinderen
company = ftx.firstChild;
for(var i =0; i < company.childNodes.length; i++)
{
com = company.childNodes[i];
map = com.childNodes[0].nodevalue;
title = com.childNodes[1].nodevalue;
// etc.
} // end for

}
};
get_XML.load(xml_file);
}


// aanroepen functie
read_XML("whatever.xml");



Iets in die richting is het, succes, ;)

Zanthr
%Europe/Berlin %378 %2005, 10:04
Greystroke, je bent mijn held!

Nergens op internet een eenduidig straightforward antwoord. Nu wel, hier, zwart op wit!