Salut tous les membres de CodesSources , Je veux Parser un fichier xml avec JDOM, j'ai trouvé une méthode dans l'internet, mais il ne marche pas , est ce qu'il y'a quelqu'un qui peut m'aider ou est l'erreur :
voila le code :
package salem;
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("test.xml"));
} catch (Exception e) {
}
// On initialise un nouvel élément racine avec l'élément racine du
// document.
ligne 44 racine = document.getRootElement(); // Méthode définie dans la partie 3.2. de cet article
afficheALL();
}
}
Exception in thread "main" java.lang.NullPointerException
at salem.Test.main(Test.java:44)
//instruction : racine = document.getRootElement();est ce que j'ai fait des erreurs: j'ai copié le même code existé dans le cour, et j'ai mit Test.java et test.xml dans le même package (seulement j'ai ajouté un nouveaux fichier test.xml à ce package) dans un nouveaux projet.
Merci pour votre aide.
Salem Gassara