Salut tous le monde,

je veux parser un ficher xml existant en utilisant JDOM, j'ai suivant la documentation de dev.vom "Manipuler des données XML avec Java et JDOM", j'ai essayé de faire la partie 3: 3. Parcourir un fichier XML .

j'ai mis le code suivant :
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.filter.*;
import java.util.List;
import java.util.Iterator;
 
public class test
{
   static org.jdom.Document document;
   static Element racine;
 
 
 //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());
      }
   }
   public static void main(String[] args)
   {
      //On crée une instance de SAXBuilder
      SAXBuilder sxb = new SAXBuilder();
      try
      {
         //On crée un nouveau document JDOM avec en argument le fichier XML
         //Le parsing est terminé ;)
         document = sxb.build(new File("Exercice2.xml"));
      }
      catch(Exception e){}
 
      //On initialise un nouvel élément racine avec l'élément racine du document.
      racine = document.getRootElement();
 
      //Méthode définie dans la partie 3.2. de cet article
      afficheALL();
   }
}

mais j'obtiens l'erreur suivantes :

*Exception in thread "main" java.lang.NullPointerException
at test.main(test.java:45)

*Et si 'enlève la ligne 45 j'obtiens l'erreur suivantes :

Exception in thread "main" java.lang.NullPointerException
at test.afficheALL(test.java:18)
at test.main(test.java:48)

Merci à l'avance pour votre aides, j'utilise comme IDE Eclipse et java 1.5