Voilà mon fichier 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
17
18
19
20
21
22
<?xml version="1.0" encoding="utf-8" ?>
<mnop>
  <partie id="2" tour="1" main="1">
    <tirage>12</tirage>
    <joueurs>
      <joueur> <!-- joueur 1 : humain -->
        <argent>1500</argent>
        ...
      </joueur>
      <joueur type="0">  <!-- joueur 2 cpu -->
        <argent>800</argent>
        <...
      </joueur>
      <joueur type="4">  <!-- joueur 3 cpu -->
        <argent>8250</argent>
        ...
      </joueur>
      <joueur type="1">  <!-- joueur 4 cpu -->
        <argent>70</argent>
        ...
      </joueur>
    </joueurs>
Je veux retourner la liste d'argent pour chaque joueur.
Voici ma fonction :

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
27
28
29
30
// Affiche l'argent de chaque joueur
	public List<Integer> afficherArgent()
	{   
	   List list = racine.getChildren("partie");
 
	   //On crée un Iterator sur notre liste
	   Iterator i = list.iterator();
	   while(i.hasNext())
	   { 
	      Element courant = (Element)i.next();
 
	      List list2 = courant.getChildren("joueurs");
	      Iterator i2 = list2.iterator();
	      while(i2.hasNext())
	      {
	    	  Element courant2 = (Element)i2.next();
 
	    	  List list3 = courant2.getChildren("joueur");
	    	  Iterator i3 = list3.iterator();
	    	  while(i3.hasNext())
		      {
	    		  Element courant3 = (Element)i3.next();
	    		  //System.out.println(courant3.getChild("argent").getText());
	    		  valeursArgent.add(Integer.parseInt(courant3.getChild("argent").getText()));
		      }
	      }
	   }
 
	   return valeursArgent;
	}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
 
		List<Integer> tableauArgent = new ArrayList<Integer>();
		DonneesXML donnees = new DonneesXML();
		tableauArgent = donnees.afficherArgent();
 
		System.out.println(tableauArgent);
 
	}
La console me retourne [1500, 800, 8250, 70, 1500, 800, 8250, 70]
alors que çà devrait me retourner [1500, 800, 8250, 70]

Je ne comprends pas pourquoi. Merci de votre aide.