webForumDet fria alternativet

Childnodes

8 svar · 444 visningar · startad av painball

painballMedlem sedan mars 20076 inlägg
#1

Jag blir smått galen, har försökt i 2 dagar nu att försöka förstå hur jag kan få in antalet noder från ett xml till en Dynamisk textruta.

xml dokumentet ser ut så här fast med mycket fler items

<item i_name="Hello" i_video="hello.flv"/>
<item i_name="Today" i_video="today.flv"/>
<item i_name="Sound" i_video="sound.flv"/>

Detta tänkte jag använda:
dynamic_txt.text = "video count: " + nodeCount;

Men hur får jag tag i noderna?

Jag måste använda XML.childNodes men hur?

Mvh
/j

mirandirMedlem sedan maj 2003750 inlägg
#2

childNodes ger en Array så du kan använda length-propertyt för att ta reda på antalet noder.

Typ:
XML.childNodes.length

painballMedlem sedan mars 20076 inlägg
#3

tack mirandir men hur fortätter jag :D

hur får jag tag i noderna :D

mirandirMedlem sedan maj 2003750 inlägg
#4

Innehåller ditt XML-dokument något root-element eller är det bara en mängd item-taggar? och hur ser din kod för att ladda in XML:en ut?

/Mirandir

painballMedlem sedan mars 20076 inlägg
#5

Hej det ser ut så här..

<?xml version="1.0" encoding="UTF-8"?>
<hej_a_b>
<letter l_name = "a">
<item i_name="Absolut" i_video="absolut.flv"/>
<item i_name="Acceptera" i_video="acceptera.flv"/>
<item i_name="Adress" i_video="adress.flv"/>
<item i_name="Advent" i_video="advent.flv"/>
<item i_name="Affär" i_video="affär.flv"/>
</letter>
</hej_a_b>

Koden har jag ingen aning om för det är den jag behöver hjälp med -.-

Jag fattar inte varför jag har sånt prob med detta

/j

painballMedlem sedan mars 20076 inlägg
#6

inladdningen ser i stort ut så här. men jag får det inte att funka.

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {

var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
trace (numOfItems);

};
xml.load("xml/images.xml");

------------------------------
Av detta får jag bara ut 1 nod i tracen, de jag vill ha ut är de 5 Item noderna.

mirandirMedlem sedan maj 2003750 inlägg
#7

this.firstChild är taggen <hej_a_b>. Den har ju bara en childnode <letter l_name = "a">.

så this.firstChild.firstChild.childNodes borde peka på item-taggarna.

/Mirandir

painballMedlem sedan mars 20076 inlägg
#8

Hej igen.

Det fungerade nästan ;)

Nu får jag ut 4 noder i tracen fast det finns 5 item.

Provade trixa lite, lade in fler i xml som resulterade bara i att jag fortfarande fick 4 fast det låt 10 items där.

Jag tog även bort så jag fick 2 resp 3 item och då fick jag ut 2 resp 3 i tracen, så den pekar rätt men den går inte över 4 st varför ?

var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {

var nodes = this.firstChild.firstChild.childNodes ;
numOfItems = nodes.length;
trace (numOfItems);

};
xml.load("xml/images.xml");

Mvh
/j

painballMedlem sedan mars 20076 inlägg
#9

Tjohoo nu funkade det när jag lade in dem korrekt med Dreamweaver, funkade inte med textdokument.

Tack så mycket Mirandir!!!

En snabb fråga till.

Jag har inte sagt hela historien om min xml så nu måste vi gå mer avancerat.

den ser egentligen ut så här
_________________________________________________________
<?xml version="1.0" encoding="UTF-8"?>
<hej_a_b>
<letter l_name = "a">
<item i_name="Absolut" i_video="absolut.flv"/>
<item i_name="Acceptera" i_video="acceptera.flv"/>
<item i_name="Adress" i_video="adress.flv"/>
<item i_name="Advent" i_video="advent.flv"/>
<item i_name="Affär" i_video="affär.flv"/>
</letter>

<letter l_name = "b">
<item i_name="Bada" i_video="bada.flv"/>
<item i_name="Badboll" i_video="badboll.flv"/>
<item i_name="Badbyxa" i_video="badbyxa.flv"/>
</letter>
</hej_a_b>

Måste jag göra en helt ny funktion för att gripa tag i dem under "b" eller kan jag använda mig av samma ?

132 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)