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 :

getChildren renvoit null


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
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut getChildren renvoit null
    J'ai un fichier xml que je parcours en utilisant l'api jdom
    une balise xml contient d'autres balises html
    logiquement, les balises html devraient être considérées comme des noeuds xml
    mais quand je fais un getChildren pour le noeud qui contient les autres noeuds html j'obtient une liste vide.

    voilà une partie du fichier XML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <noeudXML>
    <img src="src.jpg" border="0" alt="olive" width="586" height="850" />
    </noeudXML>
    quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Element noeudXml =root.getChild("noeudXml");
    List imgs=noeudXml.getChildren("img");
    System.out.println(imgs);
    le résultats est null

    Est ce que quelqu'un a une idée, merci de m'aider

  2. #2
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Bonjour, est-ce que cela ne viendrait pas du namespace? il y a un autre accesseur getChildren(String, Namespace)

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par CheryBen Voir le message
    Bonjour, est-ce que cela ne viendrait pas du namespace? il y a un autre accesseur getChildren(String, Namespace)
    c'est quoi le namespace et comment le récupérer sachant que les fichiers xml je ne les ai pas localement, je récupère le flux sur le net ?

    PS : je récupère les autres noeud xml et le problème est juste aux noeuds html

    Merci encore pour votre aide

  4. #4
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par luna007 Voir le message
    c'est quoi le namespace et comment le récupérer sachant que les fichiers xml je ne les ai pas localement, je récupère le flux sur le net ?

    PS : je récupère les autres noeud xml et le problème est juste aux noeuds html

    Merci encore pour votre aide
    Je viens de découvrir le problème :
    En ouvrant l'xml en utlisant internet explorer j'ai pu voir que le code html que je voulais traiter est mis dans <![CDATA[ ce qui fait , ce code est pris par jdom comme étant un text.
    Y a il un moyen d'annuler l'effet <![CDATA[ pour pouvoir traiter le code html en utilisant jdom ?
    Merci d'avance

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Extraire le texte des délimiteurs, recréer un document jdom à partir de ce texte qu'on suppose "bien formé", puis se replacer sur le noeud que tu voulais etc.

    L'html est rarement un document xml bien formé (quand il l'est, on le nomme xhtml). Le "<![CDATA[" est sans doute là justement pour permettre d'inclure de l'html/xml "mal formé" dans un document xml qui lui sera "bien formé".

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 145
    Par défaut
    Citation Envoyé par Morbo Voir le message
    Extraire le texte des délimiteurs, recréer un document jdom à partir de ce texte qu'on suppose "bien formé", puis se replacer sur le noeud que tu voulais etc.

    L'html est rarement un document xml bien formé (quand il l'est, on le nomme xhtml). Le "<![CDATA[" est sans doute là justement pour permettre d'inclure de l'html/xml "mal formé" dans un document xml qui lui sera "bien formé".
    Merci pour la solution proposée
    Je vais tester et je vous mets au courant du résultat même si je ne pense pas que dom va travailler sur un fichier xml mal formé
    Salut

Discussions similaires

  1. Champ de saisie renvoit "NULL"
    Par ttyyeekk dans le forum WebDev
    Réponses: 4
    Dernier message: 08/05/2014, 19h57
  2. JtextField qui renvoit la valeur <null> dans la BD
    Par elmander dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 23/02/2010, 13h23
  3. Un max qui renvoit null
    Par cyberny dans le forum SQL
    Réponses: 7
    Dernier message: 04/05/2009, 19h52
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. "ALTERER" une col. NULL en NOT NULL - Int
    Par Gandalf24 dans le forum SQL
    Réponses: 2
    Dernier message: 28/12/2002, 00h07

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