Problème avec xml et tableau.
Bonjour,
Ça fait maintenant un bon moment que je me casse la tête sur un truc qui peut paraître super simple, mais je comprends pas…
Voila mon problème : Au début du code je charge un fichier xml, pendant se chargement, je remplis un tableau avec des donnés du xml.
Quand je sors du chargement du xml, j’effectue deux commandes « trace » pour vérifier ce qui est dans mon tableau, et là j’ai « undefined »
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| var monXml:XML = new XML();//création d'une variable pour y charger le xml
monXml.ignoreWhite = true;//ignorer les espaces vide du xml
monXml.load('menu.xml');//chargement du xml
var monTableau:Array = new Array();
monXml.onLoad = function() {
qte = this.childNodes[0].childNodes.length;
for (i=0; i<qte; i++) {
img = this.childNodes[0].childNodes[i].childNodes[0].firstChild;
_root.monTableau[i] = img;
trace(_root.monTableau[i]);//donne un bon résultat
}
};
trace(_root.monTableau[0]);//donne undefined
trace(_root.monTableau[1]);//donne undefined |
et voici ce que me donne les commandes trace :
Code:
1 2 3 4
| undefined
undefined
thumbs/banquier.jpg
thumbs/CHYSALIDE.jpg |
Il y a donc deux choses que je ne comprends pas. La première c’est pourquoi les deux « undefined » sont avant les deux résultats corrects. Si je demande ça c’est par ce que les « undefined » correspondent au deux lignes de la fin du code :
Code:
1 2
| trace(_root.monTableau[0]);
trace(_root.monTableau[1]); |
Pourtant j’effectue ces deux lignes à la fin…
Ensuite, comment je peux faire pour ne pas avoir « undefined » mais bien ma valeur ?
Si quelqu’un me m’expliquer le truc c’est vraiment cool car je suis complètement charrette !
Merci d’avance.
Julien