Parser un document xml sous eclipse

Fermé
anihak84 - 25 sept. 2009 à 15:01
DIROK Messages postés 2 Date d'inscription vendredi 25 septembre 2009 Statut Membre Dernière intervention 26 septembre 2009 - 26 sept. 2009 à 13:37
Bonjour,
Je veux Parser un fichier XML
j'ai utiliser pour cela le constructeur SAXBuilder, basé, sur l'API SAX.

j'ai crée le fichier Exercice2.xml dans le répertoire contenant votre future classe JDOM2 :

Exercice2.xml
<?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>

le but c'était d'afficher le nom de tous les élèves.
voicç le code sous eclipse

import java.io.*;
import org.jdom.*;
import org.jdom.input.*;
import org.jdom.filter.*;
import java.util.List;
import java.util.Iterator;

public class JDOM2
{
   static org.jdom.Document document;
   static Element racine;

   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();
   }

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());
	   }
	}
}

lors de l'execution ,il m'affiche une erreur
Exception in thread "main" java.lang.NullPointerException
at JDOM2.main(JDOM2.java:26)

j'ignore c'est quoi exactement le problème en plus je suis débutante.
es ce que vous pouvez m'aider?? MERCI
A voir également:

3 réponses

Tu veux savoir? C vraiment tres simple !
3
DIROK Messages postés 2 Date d'inscription vendredi 25 septembre 2009 Statut Membre Dernière intervention 26 septembre 2009
26 sept. 2009 à 13:37
excuse moi Latexman de ne pas répondre rapidement,j'ai postulé la question et après j'ai oublié de voir si quelqu'un a répondu!!!

alors c'est quoi la solution.merci
0
C bon je viens de trouver l'erreur
-1