Avatar billede mmmap Nybegynder
09. november 2008 - 19:06 Der er 4 kommentarer og
1 løsning

Loading af XML vha. actionscript 2

Hej!

Jeg er ved at lave noget flash, hvor jeg skal bruge data fra en XML-fil. Problemet er, at jeg ikke får den rigtige information ud af XML-filen.
Jeg får følgende værdier i output når jeg tracer:

spiller1
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined
undefined

Min Actionscript-kode ser sådan ud:

var spillerXML:XML = new XML();
spillerXML.load("info.xml");
spillerXML.ignoreWhite = true;
spillerXML.onLoad = function(success){
if (success){
var players = new Array();

for(var i = 0;i<10;i++)
{
players[i] = {
    navn: spillerXML.childNodes[0].childNodes[i].childNodes[0].firstChild,
    psn: spillerXML.childNodes[0].childNodes[i].childNodes[1].firstChild,
    kampe: spillerXML.childNodes[0].childNodes[i].childNodes[2].firstChild,
    mål: spillerXML.childNodes[0].childNodes[i].childNodes[3].firstChild,
    id:  spillerXML.childNodes[0].childNodes[i].childNodes[4].firstChild
};
}

for(var i = 0; i < 10; i++){
trace (players[i].navn)
};

}
}



XML-filen:


<?xml version="1.0" encoding="UTF-8"?>
<SPILLERE>
    <SPILLER>
        <navn>spiller1</navn>
        <psn>spiller1_psn</psn>
        <kampe>20</kampe>
        <mål>3</mål>
        <id>1</id>
    </SPILLER>
    <SPILLER>
        <navn>spiller2</navn>
        <psn>spiller2_psn</psn>
        <kampe>19</kampe>
        <mål>8</mål>
        <id>2</id>
    </SPILLER>
    <SPILLER>
        <navn>spiller3</navn>
        <psn>spiller3_psn</psn>
        <kampe>9</kampe>
        <mål>7</mål>
        <id>3</id>
        </SPILLER>

(fortsættes til 10 spillere)
Avatar billede rasmuseeg Nybegynder
22. november 2008 - 22:38 #1
var playersXML:XML = new XML();
playersXML.load("info.xml");
playersXML.ignoreWhite = true;

playersXML.onLoad = function(success){
if (success){
var players = new Array();
for(var i = 0;i<10;i++){
players[i] = {
var profile = this.firstChild.childNodes[i];
var name = profile.attributes.name;
var psn = profile.attributes.psn;
var fights = profile.attributes.fights;
var score = profile.arttributes.score;
var id = profile.arttributes.id;
};
}

for(var i = 0; i < 10; i++){
trace (players[i].navn)
};

}
}

players.profile[i].name.text = name;
players.profile[i].psn.text = psn;
players.profile[i].figts.text = fights;
players.profile[i].score.text = score;
players.profile[i].id.text = id;

XML-filen:


<?xml version="1.0" encoding="UTF-8"?>
<players>
<profile name="player 1" psn="player 1 psn" fights="20" score="3" id="1"/>
<profile name="player 2" psn="player 2 psn" fights="19" score="10" id="2"/>
<profile name="player 3" psn="player 3 psn" fights="9" score="20" id="3"/>
<profile name="player 4" psn="player 4 psn" fights="5" score="7" id="4"/>
<profile name="player 5" psn="player 5 psn" fights="3" score="20" id="5"/>
</players>
Avatar billede rasmuseeg Nybegynder
22. november 2008 - 22:38 #2
Prøv overstående.
Avatar billede mmmap Nybegynder
23. november 2008 - 08:57 #3
Mange tak, har fået det til at virke.
Avatar billede rasmuseeg Nybegynder
23. november 2008 - 14:01 #4
Kunne du ikke sende mig script. :) sidder selv om fumler med det?
Avatar billede mmmap Nybegynder
23. november 2008 - 14:23 #5
Jeg ville gerne, men siden du skrev har jeg fået skiftet til AMFphp, da det er lettere at bruge til den løsning jeg laver..
Så jeg har desværre ikke koden længere, og jeg kan desværre ikke lige huske hvad det var jeg gjorde..

Mvh
Mads
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester