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 :

[JDOM] Observation bizarre


Sujet :

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

  1. #1
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 879
    Par défaut [JDOM] Observation bizarre
    Bonjour

    Supposons que j'ai le XML suivant modélisé par cet arbre ASCII:
    proteinInteractor
    |----names
    |----xref
    |----organism
    |----sequence
    J'ai crée la méthode suivante en utilisant comme parseur JDOM:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    private void getNames(Element element, Protein protein){
    		System.out.println(element.getName());
    		List list = element.getChildren();
    		Iterator k = list.iterator();
    		while (k.hasNext()) {
    			org.jdom.Element el = (Element)k.next();
    			String str = el.getName();
    			System.out.println(str);
    		}
    		System.out.println(element.getChild("names").getName());
    	}
    Ainsi, j'affiche le nom courant de mon noeud (ici proteinInteractor) et j'affiche le nom de ses enfants (names, xref, organism, sequence). Ca, OK, ça tourne. Par contre, le System.out.println me provoque un NullPointerException. Or je m'attendrais à afficher "names".
    A quoi est dû cette bizarrerie ?
    Me serais-je trompé sur le fonctionnement de getChild() ?

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  2. #2
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Salut,
    Cela vient du fait que quand tu fais un getChildren(), TOUS les enfants de proteinInteractor sont retournés. Quand je dis TOUS, c'est à dire :
    L'élément texte retour à la ligne + tabulation
    L'élément names
    L'élément texte retour à la ligne + tabulation
    L'élément xref
    etc.
    Essaie avec un fichier xml sans espace ni retour à la ligne, tu verras ça marche !
    Sinon, fais un test comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while (k.hasNext()) {
    	org.jdom.Element el = (Element)k.next();
            if ( el.getNodeType() == Node.ELEMENT_NODE ) {
    	   String str = el.getName();
    	   System.out.println(str);
            }
    }

  3. #3
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 879
    Par défaut
    Mmm, le problème est que je ne maîtrise pas les fichiers XML reçus par mon code.
    Donc, je ne vois pas trop comment faire à moins de trimer mes noms.
    Mon problème reste donc entier sur le getChild(String s).
    Merci à toi de ton intervention.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

  4. #4
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par GLDavid
    Mmm, le problème est que je ne maîtrise pas les fichiers XML reçus par mon code.
    Donc, je ne vois pas trop comment faire à moins de trimer mes noms.
    Mon problème reste donc entier sur le getChild(String s).
    Dans ce cas, reprend le code que j'ai mis. Il ne filtre que les éléments xml qui sont des ELEMENT (et pas des TEXT, COMMENT, CDATA, etc...)

  5. #5
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 879
    Par défaut
    Ok, merci à toi, je vais tenter le coup.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code :tagcode: ni le tag :resolu:

    Je ne répond à aucune question technique par MP.

Discussions similaires

  1. Interfaces, Pattern Observer
    Par IProg dans le forum Langage
    Réponses: 8
    Dernier message: 18/12/2003, 14h11
  2. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  3. taille de structure bizarre ...
    Par lyrau dans le forum C
    Réponses: 3
    Dernier message: 20/11/2003, 10h46
  4. Un String Bizarre
    Par YanK dans le forum Langage
    Réponses: 6
    Dernier message: 07/02/2003, 11h05
  5. Réponses: 4
    Dernier message: 28/09/2002, 00h00

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