IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Accéder au contenu d'un objet de type XMLList


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut Accéder au contenu d'un objet de type XMLList
    Bonsoir, je pensais en avoir terminé avec mes histoire d'accès XML mais il reste un hiatus.

    Partant du fichier de type

    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
    <imp>
        <A1>
           <a nom="klklj" emplacement="llmklk" etc etc />
           <a nom="kl33klj" emplacement="llmZERklk" etc etc />
        </A1>
        <A2>
           <a nom="klklj" emplacement="llmklk" etc etc />
           <a nom="kl33klj" emplacement="llmZERklk" etc etc />
        </A2>
        <A3>
           <a nom="klklj" emplacement="llmklk" etc etc />
           <a nom="klklj" emplacement="llmklk" etc etc />
           <a nom="kl33klj" emplacement="llmZERklk" etc etc />
        </A3>
    </imp>
    je parviens sans difficulté, (applaudissements), à l'issue d'une saisie, à isoler le paquet A1 ou bien A2 que je vais vouloir traiter (afficher etc etc).
    Le hic c'est que j'obtiens (c'est un exemple) une variable de type XMLList dont le trace donne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <A2>
           <a nom="klklj" emplacement="llmklk" etc etc />
           <a nom="kl33klj" emplacement="llmZERklk" etc etc />
    </A2>
    à ce stade je ne parviens plus à parser et à isoler ni le nom ni l'emplacement ni même savoir combien j'ai d'occurrence en A2.
    En clair je ne sais pas exploiter cette variable qui me semble pourtant être la clef de mon affaire.

    Merci de votre attention.

  2. #2
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    une XML list est une list de xml ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each( a:XML in xmlList ){
       trace( a );
    }

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut
    Bonjour,
    Citation Envoyé par IP-Fix Voir le message
    une XML list est une list de xml ..
    Ben ouais c'est comme ça que je vois les choses et j'utilise la boucle each comme ci-dessous

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for each( a:XML in xmlList ){
       trace("Liste elements..." + a );
    }
    Mais voila le résultat de mon trace(a);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Liste elements...<A2>
       <a nom="klklj" emplacement="llmklk" etc etc />
       <a nom="kl33klj" emplacement="llmZERklk" etc etc />
    </A2>
    La boucle ne semble voir qu'un seul élément constitué de mes 4 lignes XML...

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut
    Pour parvenir à mes fins, et en attendant une possible explication (c'est pour cela que je ne vais pas placer le résolu tout de suite car la question de forme reste ouverte) j'ai transformé mon fichier XML de base comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <imp>
        <A1>   <a nom="klklj" emplacement="llmklk" etc etc /> </A1>
        <A1>   <a nom="kl33klj" emplacement="llmZERklk" etc etc /> </A1>
     
        <A2>  <a nom="klklj" emplacement="llmklk" etc etc /> </A2>  
        <A2>  <a nom="kl33klj" emplacement="llmZERklk" etc etc /> </A2>  
     
        <A3>   <a nom="klklj" emplacement="llmklk" etc etc /> </A3>
        <A3>    <a nom="klklj" emplacement="llmklk" etc etc /> </A3>
        <A3>   <a nom="kl33klj" emplacement="llmZERklk" etc etc /> </A3>
     
    </imp>
    ça me parait moins propre mais ça semble bien mieux fonctionner...

  5. #5
    Membre confirmé Avatar de Lideln75
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2008
    Messages : 111
    Par défaut
    Si je ne m'abuse, il faudrait plutôt faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var oList:XMLList = xml.imp.a2.a; // C'est ici, le changement !!
    var iLength:uint = xmlList.length();
    var sName:String;
    var sDescr:String;
    for (var i:uint = 0; i < iLength; i++)
    {
       sName = oList.name[i];
       sDescr = oList.description[i];
    }
    Car dans votre code, vous ne récupériez que les occurrences de A2... Or il n'y en a qu'une ! Il vous faut donc récupérer les occurrences de A dans le A2. Grâce à la 1ère ligne du code que ci-dessus.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 37
    Par défaut
    Merci beaucoup Lideln75, tu me permets de bien remettre l'affaire sur ses rails. Du coup le code qui fonctionne est (avec etage comme variable amenée à contenir A1 ou A2) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var listeXML:XMLList = donneesLues.elements(etage).a;
    var iLength:uint = listeXML.length();
    var sName:String;
    var sDescr:String;
    for (var i:uint = 0; i < iLength; i++)
    	{
    	   sName = listeXML.@nom[i];
    	   sDescr = listeXML.@emplacement[i];
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Contenu d'un objet de type FileStream
    Par new_wave dans le forum Framework .NET
    Réponses: 17
    Dernier message: 29/08/2013, 19h30
  2. Récupérer type du contenu d'un objet
    Par Nemesis007 dans le forum C#
    Réponses: 2
    Dernier message: 05/09/2010, 16h44
  3. Accéder à une variable d'un objet contenu dans une collection
    Par derlone dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 30/04/2009, 17h50
  4. [DOM] Récupérer contenu d'un objet de type org.w3c.dom.Document dans une chaine de caractèr
    Par danyboy85 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 18/01/2007, 11h38
  5. DB objet sous types heritage
    Par smex dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 15/06/2004, 22h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo