bonjour,
je viens vers vous car je bloque sur un point de xml ,
j'essai de récupérer la valeur d'un attribut via Xpath
par exemple: code XMl
a la base je faisait cela sans Xpath,
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version='1.0' encoding="UTF-8" ?> <main> <zone_couleur> <zone debut="0" fin="30" couleur="000000"/> <zone debut="30" fin="50" couleur="00FF00"/> <zone debut="50" fin="90" couleur="0000FF"/> <zone debut="90" fin="100" couleur="FF0000"/> </zone_couleur> </main>
cependant maintenant j'essai de récupérer les données non plus par leurs ordres dans la liste mais par nom.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var count_zone:Number = fichier_xml.firstChild.childNodes[0].childNodes.length; for (i = 0; i < count_zone; i++) { var debut:Number = fichier_xml.firstChild.childNodes[0].childNodes[i].attributes.debut; var fin:Number = fichier_xml.firstChild.childNodes[0].childNodes[i].attributes.fin; var couleur:Number = fichier_xml.firstChild.childNodes[0].childNodes[i].attributes.couleur; trace (debut); }
j'ai intégrer la classe DataBindingClasses
mais je bloque sur le "comment" pour récupérer mes valeurs
j'ai vu sur un autre forum que quelqu'un avait reussi avec
j'ai donc essayé comme ça
Code : Sélectionner tout - Visualiser dans une fenêtre à part trace (XPathAPI.setNodeValue(myXml.firstChild, "/myCfg/basics/fowardSpeed").attributes.val);
mais il me renvoi qu'il n'existe aucune propriété nommée attributes
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 stop(); import mx.xpath.XPathAPI; fichier_xml = new XML(); fichier_xml.ignoreWhite = true; fichier_xml.load("donnees_test.xml"); fichier_xml.onLoad = function(reussite) { if (reussite) { var count_zone:Number = fichier_xml.firstChild.childNodes[0].childNodes.length; for (i = 0; i < count_zone; i++) { trace (XPathAPI.setNodeValue(fichier_xml.firstChild, "/zone_couleur/childNodes["+i+"]").attributes.debut); } } }
j'ai essayé en remplaçant le childNodes["+i+"]" par zone["+i+"]" mais pas mieux
Merci d'avances pour vos réponses
Partager