Traitement fichier xml

Résolu
bourane974 Messages postés 7 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 6 décembre 2007 - 5 déc. 2007 à 16:52
bourane974 Messages postés 7 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 6 décembre 2007 - 6 déc. 2007 à 09:36
bonjour,
Voila, j'aimerais savoir si on peut faire ce genre de manip avec un fichier xml (je m'explique).

monXml.xml :
       <debut>
             <LIST param0="1" param1="je c pas" />
       </debut>

j'ai mon fichier xml ci-dessus, et j'ai la fonction, suivante, dans flash, qui doit me permettre de charger n'importe quel fichier xml du mm format que monXml.xml

function __xmlCharge(UnFileXml:String, UnTableau:Array, NbCol:Number)
{
    //NbCol => nombre de colonne
    //Lectur d'un fichier xml et enregistrement dans un tableau
   
    var __ParseXml:XML = new XML;
    __ParseXml.ignoreWhite = true;
    __ParseXml.onLoad = function (success)
    {
        if(success)
        {
            // parcours du fichier xml
            for(i=0;i<__ParseXml.firstChild.childNodes.length;i++)
            {
                if(NbCol > 0)
                {
                    for(iCol=0;iCol<NbCol;iCol++)
                    {                       
                        var Param = "Param" + iCol;
                        trace("Param :" +Param);
                        if(__ParseXml.firstChild.childNodes[i].attributes.Param != undefined)
                        {
                            UnTableau[i][iCol] = __ParseXml.firstChild.childNodes[i].attributes.Param;
                        }
                        trace("Données :" +__ParseXml.firstChild.childNodes[i].attributes.Param);
                    }
                }else if(NbCol == 0)    // si mon xml comporte 1 colonne (0)
                {
                    if(__ParseXml.firstChild.childNodes[i].attributes.param0 != undefined)
                    {
                        UnTableau[i] = __ParseXml.firstChild.childNodes[i].attributes.param0;
                    }
                }
            }
        }
        trace("UnTableau :" +UnTableau.join("/"));
    }
    __ParseXml.load(UnFileXml);
}

en faite cette fonction elle lit x nombre de ligne du fichier xml et à l'interieur de cette ligne j'ai plusieurs paramètres, et au lieu d'écrire le nom des champs (param0, param1) a la fin de __ParseXml.firstChild.childNodes[i].attributes.(nomduchamps)
je veux l'autoincrémenté pour que sa soit automatique :P Mais le pb c'est qu'il ne prend pas en compte le nouveau champs en rouge.
Quand je met le nom du champs en dur sa marche mais si je l'incrémente comme je le fait dans ma fonction sa ne marche pas.
Déjà est ce que c'est possible de faire sa?? si oui, ou est mon erreur??

merci...

> flash MX 2004

2 réponses

bourane974 Messages postés 7 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 6 décembre 2007
6 déc. 2007 à 09:36
G trouvé la solution il fallait just mettre la variable Param entre [] cki donne :
__ParseXml.firstChild.childNodes[i].attributes[Param]
3
bourane974 Messages postés 7 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 6 décembre 2007
5 déc. 2007 à 16:53
c'est pas facile a expliquer alors n'hésiter pas a demandé des explications sur certains point.
0