begin process at 2008 08 29 07:13:08
1 233 517 membres
56 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : XML/flash, je comprends pas..... [ Archives / ActionScript ] (nomodie)

XML/flash, je comprends pas..... le 01/06/2004 14:01:22

nomodie

voila, j'ai besoin de faire un petit code qui me liste un fichier XML (nom des balises, attributs, etc), je connais pas le fichier, donc, mon code doit s'adapter.
Betement, j'ecris ca:

//ma fonction pour recuperer les infos contenues dans le fichier
function XMLRead(node) // node: le noeud a examiner
{

//affiche le nom du node
_root.affichage.text+=("Balise:"+node.nodeName+"\n");
//affiche les proprietes
for(att in node.attributes)
{
_root.affichage.text+=("Attribut :"+att+"=>"+node.attributes[att]+"\n");
// ou 'att' correspond au nom de l'attribut
}

//si l'attribut a des enfants
if(node.hasChildNodes()==true)
{

//recommence :parcour le tableau de noeud enfant
for(nod in node.childNodes)
{
if(node.childNodes[nod].nodeType==3)
{

//affiche la valeur
_root.affichage.text+=("valeur de "+node.nodeName+": "+node.childNodes[nod].nodeValue+"\n");


}
else
{
// etudie ce noeud
XMLRead(node.childNodes[nod]);


}


}
}


}

monXML=new XML();
monXML.ignoreWhite=true;
monXML.onLoad=function(success)
{
if(success==true)
{
if(monXML.status==0)
{
_root.affichage.text="Chargement reussi!!!"+this.getBytesLoaded()+"/"+this.getBytesTotal()+"\nDebut de lecture\n";
// le premier firstchild fait reference a la balise root, le second a la premiere balise 'interressante' du fichier.
XMLRead(this.firstChild.firstChild);
}
else
{
trace("Erreur document");
}

}
else
{
_root.affichage.text="Erreur lors du chargement du fichier XML";
}
}
monXML.load("XXX.xml");

Super, ca marche, sauf que ca m'ecris toutes les balises a l'envers (en ordre inverse plus exactement).
J'essaye de mettre une boucle plus 'normale' du style

for (i=0;i<node.childNodes.length;i++)

mais le compteur s'incremente de facon bizzare, entrainant au mieux un oubli de balise, au pire, un plantage complet.
Donc 2 questions: flash supporte t'il la recursivité? (sinon, je suis pas dans la m****), et sinon, qu'es-ce qui va pas dans mon for....in.... ?(j'ai essayé de passer par un tableau temporaire, de faire un reverse(), mais la, j'ai eu des resultats un peu aleatoire....). Ou peut etre le childNodes marche pas comme je pense....
Je vous remerci de me filer uncoup de main, parceque la, je vois pas......
(note: je travaille avec la version MX, pas 2004)


Classé sous : fichier, xml, root, childnodes, node

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS