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 :

Balise vide... [DOM]


Sujet :

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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut Balise vide...
    Bonjour,

    J'ai un petit problème avec le parser DOM.

    Voici le code utilisé pour lire un document Xml dans un fichier et l'affiché dans un panel spécialisé pour l'affichage:
    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
     
    //On récupère le document XML à partir du fichier
    		try
    			{
    			//On crée le parseur
    			DocumentBuilderFactory monUsine = DocumentBuilderFactory.newInstance();
    			DocumentBuilder monBuilder = monUsine.newDocumentBuilder();
    			//On crée le flux à partir du fichier
    			FileInputStream fis = new FileInputStream(fileName);
    			//On crée le document
    			Document doc = monBuilder.parse(fis);
    			//On envoie le document au panel XML
    			monXmlViewer.setXmlDocument(doc);
    			}
    		catch(Exception e) {System.out.println("erreur !! "+e);}
    Mon problème, c'est que chaque balise ouvrante et suivi d'une balise texte vide !!
    J'ai regardé la FAQ et le forum et il n'y a rien qui réponde à ma question !

    Pour enregistrer mon doc XML, j'utilise un transformeur (comme décrit dans la FAQ)...

    Merci pour votre aide.

    Tchao.
    Je suis capable du meilleur et du pire. Mais dans le pire, c'est moi le meilleur!

  2. #2
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    Salut,

    j'avais le meme probleme, j'avais d'ailleurs fait un post a ce sujet (http://www.developpez.net/forums/viewtopic.php?t=77385) mais pas de reponses convaincantes alors j'ai mis les mains dans le cambuis et j'ai cree un petit algo qui remet les choses en place,

    si tu peux attendre demain, je le posterais

    Seb

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Oui, j'ai vu le post et la réponse qui disait que c'était normal ! Seulement voila, je ne comprends pas pourquoi !! Si le problème arrivait à tous ceux qui parse du XML ça se saurait ! Donc je me dit qu'il y a un truc qui ne va pas quelque part ! Je veux bien ton algo quand même !! Mais je préferais une réponse me disant ce que je fais mal !

    Tchao.
    Je suis capable du meilleur et du pire. Mais dans le pire, c'est moi le meilleur!

  4. #4
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    j'avais remarque que cela n'arrivait pas s'il n'y a avait pas de "\n" dans ton fichier XML . Essaye ca, tu verras ! mets toutes tes balises sur une unique ligne et tu n'auras alors pas ce probleme ...

    j'avais aussi essaye d'utiliser la fonction Node.normalize() mais sans resultat ...

    et moi aussi, j'aimerai bien avoir une reponse claire sur ce sujet !

    seb

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Oui, c'est bien ça ! J'ai changé ma méthode d'enregistrement (propriété INDENT à no) et quand j'ouvre mon document y'a plus les balises texte vide !
    Une autre solution serait de supprimer les \n et les espaces entre chaque balise avant de parser le document mais c'est quand même étrange comme phénoméne !!

    Si quelqu'un connait la réponse !

    Tchao.
    Je suis capable du meilleur et du pire. Mais dans le pire, c'est moi le meilleur!

  6. #6
    Membre du Club
    Inscrit en
    Mars 2002
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    le fait de mettre le INDENT a no, c'est sympa, j'y avais pas pense, mais c'est pas forcement la solution si tes documents XML viennent d'une autre source que ton prog ...

    sinon, ce n'est pas un phenomene etrange ... c'est du a la propriete de "mixed-content model" de DOM qui veut ca. Vas voir http://java.sun.com/webservices/docs/1.1/tutorial/doc/JAXPDOM2.html pour plus d'infos

    Seb

  7. #7
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 52
    Points : 78
    Points
    78
    Par défaut
    Je confirme que c'est normal et qu'il n'y a pas à s'inquiéter : c'est normal.

    Dans un document XML, les espaces blancs sont significatifs, et donc un analyseur XML doit les renvoyer à l'application utilisatrice, donc à vous. C'est à vous de les supprimer s'ils vous gènent.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 19
    Points : 11
    Points
    11
    Par défaut
    Salut,

    Merci pour toutes ces explications, je me concherai moins bête ce soir !!
    J'ai modifié mon code et je n'ai plus de problème.

    Tchao.
    Je suis capable du meilleur et du pire. Mais dans le pire, c'est moi le meilleur!

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

Discussions similaires

  1. [DOM]Balise vide, syntaxe avec balises ouvrantes et fermantes
    Par Jherek dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 30/05/2006, 14h29
  2. Détecter une balise vide
    Par yassinchaouki dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 20/04/2006, 14h05
  3. [XML] ChildNodes: différencier si balise vide ou inexistante
    Par MiJack dans le forum Composants VCL
    Réponses: 4
    Dernier message: 05/04/2006, 14h25
  4. XSL - choose et test pour balise vide
    Par enigma dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 19/07/2005, 08h02
  5. [DOM] Pb avec les "BALISE vide"
    Par PhalconX dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 18/06/2005, 22h16

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