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 :

Problème d'affichage [JDOM]


Sujet :

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

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 58
    Par défaut Problème d'affichage
    bonjour, voila mon document XML :

    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
    16
    <?xml version="1.0" encoding="UTF-8"?> 
    <personnes> 
       <etudiant classe="P2"> 
          <nom>CynO</nom> 
          <prenoms> 
             <prenom>Nicolas</prenom> 
             <prenom>Laurent</prenom> 
          </prenoms> 
       </etudiant> 
       <etudiant classe="P1"> 
          <nom>Superwoman</nom> 
       </etudiant> 
       <etudiant classe="P1"> 
          <nom>Don Corleone</nom> 
       </etudiant> 
    </personnes>


    et on utilisant le fameux code :

    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
    16
    17
    18
    //Ajouter cette méthodes à la classe JDOM2 
    static void afficheALL() 
    { 
       //On crée une List contenant tous les noeuds "etudiant" de l'Element racine 
       List listEtudiants = racine.getChildren("etudiant"); 
     
       //On crée un Iterator sur notre liste 
       Iterator i = listEtudiants.iterator(); 
       while(i.hasNext()) 
       { 
          //On recrée l'Element courant à chaque tour de boucle afin de 
          //pouvoir utiliser les méthodes propres aux Element comme : 
          //selectionner un noeud fils, modifier du texte, etc... 
          Element courant = (Element)i.next(); 
          //On affiche le nom de l'element courant 
          System.out.println(courant.getChild("nom").getText()); 
       } 
    }
    je veux afficher tout les prenoms de chaque etudiant :
    Code:
    Nicolas
    Laurent

    mais ça ne marche pas quand jé changé mon code :
    Code:

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    static void afficheALL() 
       { 
          //L'on crée une list contenant tous les noeud "etudiant" de l'Element racine 
          List listEtudiants = racine.getChildren("etudiant"); 
     
          //L'on crée un iterator sur notre liste (sorte d'index) 
          Iterator i = listEtudiants.iterator(); 
     
          while (i.hasNext()) 
          { 
             //L'on recrée l'Element courant à chaque tour de boucle afin de 
             //pouvoir utiliser les méthodes propres aux Element comme: 
             //selectionner un noeud fils, modifier du text, etc... 
             Element courant = (Element) i.next(); 
             //On affiche le nom de l'element courant 
             System.out.println("Nom :" + courant.getChild("nom").getText()); 
             //List listPrenom = courant.getChildren("prenoms"); 
             List listPrenom = courant.getChildren("prenoms"); 
             Iterator j = listPrenom.iterator(); 
             while (j.hasNext()) 
             { 
                Element courantP = (Element) j.next(); 
                System.out.println("Prenom: " + courantP.getChild("prenom").getText()); 
             } 
          } 
       }
    mais ce code n'affiche que le premier prenom sachant que je veux tte les occurence de prenom !! SOS

  2. #2
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 49
    Par défaut
    tu es prié d'indenter ton code et d'utiliser la balise [code]

  3. #3
    Membre éclairé Avatar de Buch'
    Inscrit en
    Avril 2005
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 61
    Par défaut
    si tu veux billou77 tu a exactement la même question dans le forum J2EE (mais pas du meme auteur) avec les bonnes balises ce coup ci => http://www.developpez.net/forums/viewtopic.php?t=435426

  4. #4
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 49
    Par défaut
    lol bien vu Buch'

    j'ai un souci en voulant compiler le code.

    .getChild() n'existe pas
    .getChildren() n'existe pas

    tu utlises bien org.w3c.dom.Element ?

    tu arrives bien à compiler ton code ?

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 58
    Par défaut
    voila c bon j trouver la solution dans l'autre post
    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
    16
    17
    18
    19
    20
    21
    22
    23
    static void afficheALL() 
       { 
                    (...) 
          Iterator i = listEtudiants.iterator(); 
     
          while (i.hasNext()) 
          { 
                            (...) 
             List listPrenom = courant.getChildren("prenoms"); 
             Iterator j = listPrenom.iterator(); 
             while (j.hasNext()) 
             { 
                Element courantP = (Element) j.next(); 
                                    List list = courantP.getChildren("prenom"); 
                                    Iterator k = list.iterator(); 
                     while (k.hasNext()) 
                     { 
                                            Element courantQ = (Element) k.next(); 
                        System.out.println("Prenom: " + courantQ.getText()); 
                     } 
             } 
          } 
       }

  6. #6
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 49
    Par défaut
    tu peux mettre [Résolu] ? :o

    la prochaine fois, stp, verifie que le code que tu copies/colles compile

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

Discussions similaires

  1. Problème d'affichage
    Par mustang-gx dans le forum Bases de données
    Réponses: 8
    Dernier message: 26/01/2005, 22h54
  2. Problème d'affichage avec trace
    Par WriteLN dans le forum Flash
    Réponses: 10
    Dernier message: 22/10/2003, 16h59
  3. [Kylix] problème d'affichage
    Par scalvi dans le forum EDI
    Réponses: 1
    Dernier message: 18/06/2003, 10h07
  4. Réponses: 1
    Dernier message: 06/03/2003, 11h57
  5. probléme d'affichage d'une fiche
    Par sb dans le forum Composants VCL
    Réponses: 7
    Dernier message: 29/08/2002, 09h43

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