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
Configuration: Windows Vista
Firefox 3.0.14