Récupérer un attribut XML via xpath
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
Code:
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> |
a la base je faisait cela sans Xpath,
Code:
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);
} |
cependant maintenant j'essai de récupérer les données non plus par leurs ordres dans la liste mais par nom.
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
Code:
trace (XPathAPI.setNodeValue(myXml.firstChild, "/myCfg/basics/fowardSpeed").attributes.val);
j'ai donc essayé comme ça
Code:
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);
}
}
} |
mais il me renvoi qu'il n'existe aucune propriété nommée attributes
j'ai essayé en remplaçant le childNodes["+i+"]" par zone["+i+"]" mais pas mieux
Merci d'avances pour vos réponses