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
<?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,
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
trace (XPathAPI.setNodeValue(myXml.firstChild, "/myCfg/basics/fowardSpeed").attributes.val);
j'ai donc essayé comme ça
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 propriete nommee attributes
j'ai essayé en remplacant le childNodes["+i+"]" par zone["+i+"]" mais pas mieu
Merci d'avances pour vos réponses