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 :
et voici ce que me donne les commandes trace :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 undefined undefined thumbs/banquier.jpg thumbs/CHYSALIDE.jpg
Pourtant j’effectue ces deux lignes à la fin…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 trace(_root.monTableau[0]); trace(_root.monTableau[1]);
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
Partager