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

Format d'échange (XML, JSON...) Java Discussion :

Parcourir l'arbre [JDOM]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut Parcourir l'arbre
    Bonjour,

    J'ai un petit soucie dont je vais vous exposer :

    J'ai un fichier XML dont je me sers pour créer un Document (DOM) afin de pouvoir le parcourir en Java.
    La méthode document.getElementsByTagName(String bal) me permet bien de récupérer le nombre d'occurence de la balise 'bal' dans un XML.

    Néanmoins je suis coincé dans le cas ou le fichier XML est le suivant :

    Code XML : 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
    18
    19
    20
    21
    22
    23
    <balises0>
    <balises1>
    
      <balises2>
           <balises3>
               <balises4>
               </balises4>
           </balises3>
       </balises2>
    
       <balises2>
           <balises3>
               <balises4>
               </balises4>
           </balises3>
           <balises3>
               <balises4>
               </balises4>
           </balises3>
       </balises2>
    
    </balises1>
    </balises0>

    Voilà j'aimerai savoir combien chaque balises2 contient de balises4. Car ça peut varier d'une balise2 à une autre.

    Si j'utilise la méthode précédent sur ce XML il me dirait qu'il y a 3 récurrences de la balise4, mais ce n'est pas ce que je recherche.

    J'ai essayé de :
    1) Récupérer le nombre de balises2 présent sur le document
    2) pour chaque balises2 trouvé, j'extrais ce fragment pour l'analyser afin de savoir combien de balises4 il contient.

    Mais je suis bloqué... car je n'arrive pas à extraire les balises2.

    Si vous avez une idée ou un autre moyen de le faire merci

  2. #2
    Membre Expert Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Par défaut
    Salut,
    tu es parti sur la bonne méthode. Je ne me souviens plus de la syntaxe exacte de JDom mais en fait tu récupères toutes tes balises, et tu parcours en incrémentant ton compteur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int count = 0, i;
    NodeList n  = document.getElementsByTagName("balises2"), n2;
     
    for(i = 0; i < n.length(); i++) {
    count +=  ((Element)n.item(i)).getElementsByTagName("balises4").length();
    }

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut
    Salut,

    En fait j'avais fais :
    NodeList n = document.getElementsByTagName("balises2")

    Puis en parcourant la Nodeliste, j'ai récupéré chaque Node.
    Mais le problème c'est que la Node avait comme noeud fils que la balise3, soient les balises d'un niveau -1, or ma balise4 était à un niveau -2.

    Je testerai ton code plus tard, merci bien

  4. #4
    Futur Membre du Club
    Inscrit en
    Mars 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 3
    Par défaut
    Merci pour l'édit et merci pour l'aide, ça marche à merveille !

    Je reposte au lieu d'éditer afin de mettre Résolu.

    Bonne journée à tous !

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

Discussions similaires

  1. [DOM] Parcourir un arbre XML et récupérer des infos
    Par arkhamon dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 08/03/2011, 10h52
  2. [c#] Parcourir un arbre horizontalement
    Par HENRYC dans le forum C#
    Réponses: 4
    Dernier message: 19/11/2008, 22h49
  3. Parcourir un arbre binaire en Ada
    Par babylone_59 dans le forum Ada
    Réponses: 1
    Dernier message: 21/11/2006, 23h28
  4. Fonctions récursives pour parcourir un arbre
    Par mikedavem dans le forum C
    Réponses: 4
    Dernier message: 05/06/2006, 12h00
  5. Parcourir un arbre + ecriture fichier
    Par arnapou dans le forum C
    Réponses: 16
    Dernier message: 03/03/2006, 10h02

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