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 :

probléme de Parsing [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 habitué
    Inscrit en
    Février 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 13
    Par défaut probléme de Parsing
    Bonjour

    J'ai un souci avec mon programme :

    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
     
    import java.io.*;
    import org.jdom.*;
    import org.jdom.input.*;
    import org.jdom.filter.*;
    import java.util.List;
    import java.util.Iterator;
    /**
     *
     *
     */
    public class parser1 {
     
        public static void listChildren(Element current, int depth) {
     
            List children = current.getChildren();
            Iterator iterator = children.iterator();
            while (iterator.hasNext()) {
                Element child = (Element)iterator.next();
                System.out.println(child.getChild("title").getText());
            }
     
        }
     
        public static void main(String[] args) {
     
            SAXBuilder builder = new SAXBuilder();
     
            try {
                Document doc = builder.build("fichier.xml");
                Element root = doc.getRootElement();
     
            }
            // indicates a well-formedness error
            catch (JDOMException e) {
                System.out.println("Essai.xml is not well-formed.");
                System.out.println(e.getMessage());
            }
            catch (IOException e) {
                System.out.println(e);
            }
    }}
    Je veux chercher le résultat dans la balise title.Il me renvoie aucune erreur mais ne m'affiche rien.(ce que je veut obtenir en rouge).

    Le code source
    Code XML : 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
     <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <!--  @meta@--> 
          <meta name="keywords" content="OMIM, Online Mendelian Inheritance in 
          <meta name="robots" content="index,nofollow,NOARCHIVE" /> 
          <meta name="ncbi_app" content="entrez" /> 
          <meta name="ncbi_db" content="omim" /> 
          <meta name="ncbi_term" content="gpcr-168" /> 
          <meta name="ncbi_resultcount" content="0" /> 
          <meta name="ncbi_op" content="search" /> 
          <meta name="ncbi_pdid" content="emptyresult" /> 
          <meta name="ncbi_sessionid" content="396A0F3DB8542F01_0135SID" /> 
          <meta name="ncbi_stat" content="false" /> 
          <meta name="ncbi_hitstat" content="false" /> 
          <!--  @title@  --> 
          <title>No items found - OMIM Results  </title> 
     <!--  Common JS and CSS 
      --> 
      <script type="text/javascript">var ncbi_startTime = new Date();</script> 
      <link type="text/css" rel="stylesheet" href="/portal/css/ncbi_test.css" /> 
     <script type="text/javascript">

    merci d'avance.

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Peux-tu mettre les balises CODE? C'est plus lisible.

  3. #3
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Bonjour,

    Dans un premier temps, il faut appeler la méthode 'listChildren' et regarder ce qui se passe, pour l'instant elle n'est jamais appelée donc ne s'exécute pas.

  4. #4
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 13
    Par défaut
    pourrait tu préciser un peu stp

  5. #5
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 380
    Par défaut
    Dans le code source que tu fournis, il y a une méthode:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    // le paramètre depth n'est pour l'instant jamais utilisé -> à voir
    public static void listChildren(Element current, int depth)
    qui va chercher les éléments 'title'.

    Cette méthode semble ne jamais être appelée donc jamais exécutée.
    Je n'ai pas regardé si son contenu est correcte, mais il faut au minimum faire dans la méthode main:

    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
     
    public static void main(String[] args) {
    	SAXBuilder builder = new SAXBuilder();
    	try {
    		Document doc = builder.build("fichier.xml");
    		Element root = doc.getRootElement();
    		listChildren(root, 0); // à ajouter
    	}
    	// indicates a well-formedness error
    	catch (JDOMException e) {
    		System.out.println("Essai.xml is not well-formed.");
    		System.out.println(e.getMessage());
    	}
    	catch (IOException e) {
    		System.out.println(e);
    	}
    }

  6. #6
    Membre habitué
    Inscrit en
    Février 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 13
    Par défaut
    Oui désolé j'ai oublié de le mettre. merci

    par contre maintenant il me met un null pointer

    Exception in thread "main" java.lang.NullPointerException
    at parser1.listChildren(parser1.java:21)
    at parser1.main(parser1.java:33)

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

Discussions similaires

  1. [DOM] Problème de parsing avec DomParser
    Par iam_free dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 21/04/2006, 09h33
  2. [DOM] [DocumentBuilder] Problème de parsing de fichier
    Par tck-lt dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 13/04/2006, 17h18
  3. [Tableaux] problème de parse error
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 06/04/2006, 21h37
  4. [JDOM] Problème de Parsing JDOM
    Par RapidJul dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 06/10/2005, 12h09
  5. [SAX] Problème de parsing ?
    Par Regis.C dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 22/06/2005, 21h48

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