Rechercher : dans
Par :

Parser un document xml sous eclipse

Dernière réponse le 26 sep 2009 à 13:37:58 anihak84, le 25 sep 2009 à 15:01:14 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « parser un document xml sous eclipse » dans :
PHP - Parser du XML Voir Introduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de...
Structure d'un document XML VoirQu'est-ce que le XML? La norme XML en tant que telle doit être vue comme un outil permettant de définir un langage (on dit alors qu'il s'agit d'un métalangage), permettant de créer des documents structurés à l'aide de balises. Une balise est une...
Les éléments de transformation XSL VoirLes éléments de transformation Les éléments de transformations permettent de sélectionner et effectuer des opérations sur les éléments du document XML. Leur syntaxe est la suivante : Remarquez la présence du / indiquant que...
DOM (Document Object Model) et SAX (Simple API for XML) VoirXML permet de définir la structure du document uniquement, ce qui permet d'une part de pouvoir définir séparément la présentation de ce document, d'autre part d'être capable de récupérer les données présentes dans le document pour les...

1

latexman, le 25 sep 2009 à 15:14:40

C bon je viens de trouver l'erreur

Répondre à latexman

2

latexman, le 25 sep 2009 à 15:28:30

Tu veux savoir? C vraiment tres simple !

Répondre à latexman

3

latexman, le 25 sep 2009 à 15:30:00

Di je suis en train de passer du temps à debugger ta merde. Sa t'arracherai la gueule d'avoir la politesse de me repondre un peu plus vite?

Répondre à latexman

4

 DIROK, le 26 sep 2009 à 13:37:58

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

Répondre à DIROK