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