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 :

caractère unicode de fin de ligne [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 averti
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Par défaut caractère unicode de fin de ligne
    Bonjour à toutes et à tous,

    J'utilise l'API JDOM pour construire un arbre XML en mémoire puis le serializer sous la forme d'une String :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    org.jdom.Document doc = ... //mon arbre XML
     
    //Serialization sous la forme d'une String
    org.jdom.output.Format format = Format.getCompactFormat();
    format.setIndent(XML_INDENTATION);
    format.setLineSeparator(System.getProperty("line.separator"));
    format.setOmitDeclaration(true);
    org.jdom.output.XMLOutputter outputter = new XMLOutputter(format);
    String result = outputter.outputString(doc);
    Mon soucis concerne le caractère unicode de fin de ligne (
 ou
    ) à l'intérieur d'une balise XML (<tag>...&#x0A;...</tag>) qui est mal interprété à la sortie de la méthode outputString(...) :
    - si la notation unicode est précédée d'un espace, la fin de ligne n'est pas prise en compte.
    - si la notation unicode est précédée par autre chose qu'un espace, l'ensemble est interprété par un espace.

    Si quelqu'un a déjà rencontré le problème et peut m'indiquer ce qu'il se passe, je suis preneur...

    Merci.

  2. #2
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    je n'utilise pas JDOM, donc ce n'est qu'une supposition : il semble que lors de la sérialisation de ton arbre, les espaces sont normalisés (les retours chariots sont considérés comme des espaces, et des espaces consécutifs sont réduits à un seul espace). La cause peut être liée au format de sortie utilisé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    org.jdom.output.Format format = Format.getCompactFormat();
    Tu peux également essayer d'ajouter un attribut xml:space="preserve" dans la balise <tag> que tu veux restituer exactement.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 10
    Par défaut
    apparement tu as compris comment on utilise le format, moi j'ai pas capté du tout. J'utilise l'ancien constructeur de XMLOutputter(" ",true), et ensuite ma String est comme je le désire. Le seul problème c'est que je n'arrive pas à mettre l'encoding que je veux;

  4. #4
    Membre averti
    Inscrit en
    Juillet 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 32
    Par défaut
    Merci GrandFather pour ton aide, effectivement en utilisant Format.getPrettyFormat() je n'ai plus la normalisation des espaces qui était la source de mon problème.

    Thanks...

  5. #5
    Invité de passage
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Par défaut
    Bonjour tout le monde !

    Je déterre le forum (5 ans après XD) mais je suis tombé dessus via Google.

    Moi je cherchais comment transformer son document en XML, en effet c'est avec XMLOutputter. Je post la petite commande au cas où quelqu'un chercherai.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
    String result = sortie.outputString(X variabke);
    Où X peut être Document, Element ...

    http://www.jdom.org/docs/apidocs/org...Outputter.html

    Vous devez être à la retraite depuis le temps ^^

    ++

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

Discussions similaires

  1. pb caractère fin de ligne windows
    Par solen dans le forum Langage
    Réponses: 4
    Dernier message: 27/10/2008, 19h57
  2. Caractère en fin de ligne avec regsub
    Par sylvain_54 dans le forum Tcl/Tk
    Réponses: 1
    Dernier message: 14/08/2008, 18h08
  3. Réponses: 1
    Dernier message: 12/06/2008, 11h48
  4. Remplacer caractère de fin de ligne suivi d'une accolade
    Par Olistan dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 07/05/2008, 17h15
  5. Supprimer les caractères blancs en fin de ligne
    Par st20085 dans le forum Eclipse Java
    Réponses: 7
    Dernier message: 06/09/2006, 22h51

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