IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Probleme avec la racine de la page [JDOM]


Sujet :

Format d'échange (XML, JSON...) Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Par défaut Probleme avec la racine de la page
    Bonjour,
    voila j'ai une application et un fichier xml. dans mon application je doit récupérer tous les noms des recettes qui sont mise dans mon fichier xml.

    pour cela j'utilise 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
    51
    52
     
    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("recettes.xml"));
          }
          catch(Exception e){}
     
          System.out.println(document);
          //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();
       }
     
     //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("recettes");
     
          //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("titre").getText());
          }
       }
    }
    mon fichier xml
    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
     
    <?xml version="1.0" encoding="utf-8" ?> 
    - <!-- -
    - phpMyAdmin XML Dump
    - version 3.1.0
    - http://www.phpmyadmin.net
    -
    - Host: 192.168.1.3
    - Generation Time: Mar 02, 2009 at 07:58 AM
    - Server version: 5.0.51
    - PHP Version: 5.2.5
     
      --> 
    - <!-- - Database: 'bb'
     
      --> 
    - <bb>
    - <!--  Table recettes 
      --> 
    - <recettes>
      <titre>Crèpes maison</titre> 
      <personnes>0</personnes> 
      <temps_prepa /> 
      <cuisson>3-4</cuisson> 
      <ingredient>1/2l de lait 250 gr de farine 1 cuillère à soupe d'huile d'arachides 1 pincée de sel 2 sachets de sucre vanillé 2 oeufs Matière grasse (cuisson)</ingredient> 
      <preparation>Faire une fontaine avec la farine. Casser les oeufs au milieu de celle-ci. Ajouter l'huile. Verser le sucre vanillé et la pincée de sel tout autour. En mélangeant, ajouter le lait petit à petit tout en incorporant la farine progressivement. Fouetter énergiquement afin d'éviter les grumeaux. Laisser reposer la pâte au moins 1/2 heure. Dans une poele bien chaude, déposez-y un peu de matière grasse et versez-y une louche de pâte.</preparation> 
      <conseil /> 
      <nom>Accompagnement</nom> 
      </recettes>
    </bb>
    mais quand je lance mon application j'obtiens ceux-ci
    Exception in thread "main" java.lang.NullPointerException
    at xml.JDOM2.main(JDOM2.java:29)

    donc à la ligne 29 j'ai:
    racine = document.getRootElement();
    donc pourquoi sa me fait cela et comment le résoudre svp

    merci d'avance de vos réponses
    jerem721

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Je pense l'erreur doit venir du fait que document contient aucune reference valide. Ceci peut provenir d'une exception generée dans le bloc try que tu as attrapée mais non traitée.
    Que donne le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println(document);
    ?

    Essaie de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    try
          {
             //On crée un nouveau document JDOM avec en argument le fichier XML
             //Le parsing est terminé ;)
             document = sxb.build(new File("recettes.xml"));
          }
          catch(Exception e)
         {
           e.printStackTrace();
         }
    pour voir kla source de l'erreur si elle vient bien d'une exception dans le bloc try.

  3. #3
    Membre expérimenté Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Par défaut
    essaies toujours de capter les exceptions et de nous les poster ça aide à trouver le problème.
    Pour cette fois ci c'est ton fichier xml qui fait defaut.
    les lignes suivantes ne sont pas comprises par le parseur à cause des caratères -
    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
    - <!-- -
    - phpMyAdmin XML Dump
    - version 3.1.0
    - http://www.phpmyadmin.net
    -
    - Host: 192.168.1.3
    - Generation Time: Mar 02, 2009 at 07:58 AM
    - Server version: 5.0.51
    - PHP Version: 5.2.5
     
      --> 
    - <!-- - Database: 'bb'
     
      --> 
    - <bb>
    - <!--  Table recettes 
      --> 
    - <recettes>
    ton code marche bien avec ce fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <bb>
     <recettes>
      <titre>Crèpes maison</titre> 
      <personnes>0</personnes> 
      <temps_prepa /> 
      <cuisson>3-4</cuisson> 
      <ingredient>1/2l de lait 250 gr de farine 1 cuillère à soupe d'huile d'arachides 1 pincée de sel 2 sachets de sucre vanillé 2 oeufs Matière grasse (cuisson)</ingredient> 
      <preparation>Faire une fontaine avec la farine. Casser les oeufs au milieu de celle-ci. Ajouter l'huile. Verser le sucre vanillé et la pincée de sel tout autour. En mélangeant, ajouter le lait petit à petit tout en incorporant la farine progressivement. Fouetter énergiquement afin d'éviter les grumeaux. Laisser reposer la pâte au moins 1/2 heure. Dans une poele bien chaude, déposez-y un peu de matière grasse et versez-y une louche de pâte.</preparation> 
      <conseil /> 
      <nom>Accompagnement</nom> 
      </recettes>
    </bb>

  4. #4
    Membre confirmé
    Inscrit en
    Août 2007
    Messages
    178
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 178
    Par défaut
    c'est bon j'ai trouvé d'où venait le problème, en faite il y avait des caractère que java ne comprenait pas dans le doc. xml

    donc c'est bon sa marche maintenant
    merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [W3C] Probleme avec un pdf dans une page
    Par mael94420 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 14/09/2006, 11h09
  2. probleme avec le corp de la page web
    Par luffy33 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 20/07/2006, 17h49
  3. [Internet]Probleme avec certaines pages webs
    Par doudoustephane dans le forum Autres Logiciels
    Réponses: 32
    Dernier message: 25/06/2006, 01h18
  4. Probleme avec mes formulaire html dans mes pages web
    Par foungnigue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/12/2005, 19h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo