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 et XMLOutputter change le texte


Sujet :

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

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut JDOM et XMLOutputter change le texte
    Bonjour,

    Je génère un fichier XML par mes propres moyens à l'étape 1. Le contenu de certain nœuds contient des &# 233; à la place des caractères é.

    Dans un deuxième temps, je souhaite modifier dans le fichier généré préalablement la valeur d'un attribut en utilisant XPath , bien pratique pour désigner les modifications à réaliser.

    Pour réaliser ma deuxième étape, je réalise la chose suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // ceci est du code J1.4
    Document doc = new SAXBuilder().build(xmlFile);
     
    List XPath.newInstance(xPathString).selectNodes(doc);
    // je modifie la valeur de l'attribut que je veux sur ma liste de nodes ...
     
    XMLOutputter outFile = new XMLOutputter(Format.getCompactFormat());				
    outFile.output(this.doc, new FileOutputStream(xmlfile));
    Et devinez quoi ? Mes attributs ont bien pris la nouvelle valeur, ça c'est ok, mais les éléments que je n'ai pas touché, et qui avaient pour contenu du code ISO écrit dans le texte donc des &# 233;, sont transformés en é !!

    Sauf que j'ai un postè-processing plus loin qui va chercher le texte "&# 233;" par la suite et ça me fout la grouille.

    Comment puis-je imposer à l'XMLOuputter (et/ou SAXParser) de ne surtout pas convertir les entités ?

    Merci à vous,

    Gal'

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Peut-être ceci peut t'aider?


    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
     
        try
        {
            Format format =  Format.getCompactFormat().setEncoding(encoding);
            FileOutputStream output = new FileOutputStream(fileName);
            XMLOutputter serializer  = new XMLOutputter(format);
     
            serializer.output(document, output);
            output.flush();
            output.close();
        }
        catch (Exception e)
        {
            log.error(e);
        }



  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    126
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 126
    Par défaut
    Citation Envoyé par ttttnht Voir le message
    Peut-être ceci peut t'aider?


    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
     
        try
        {
            Format format =  Format.getCompactFormat().setEncoding(encoding);
            FileOutputStream output = new FileOutputStream(fileName);
            XMLOutputter serializer  = new XMLOutputter(format);
     
            serializer.output(document, output);
            output.flush();
            output.close();
        }
        catch (Exception e)
        {
            log.error(e);
        }


    En fait, l'encoding utilisé est l'utf-8, et les code ISO &# 233 sont présents par remplacement manuel....

    Mais je dois réécrire le fichier avec le même encoding que celui initial, à savoir l'utf-8 et c'est bien l'encoding qu'il utilise si je ne lui spécifie rien. Donc l'encoding est déjà le bon.

    Donc non, ça ne me fais pas avancer. Merci d'avoir essayé

    ++
    Galevsky

Discussions similaires

  1. Change the text on a prompt button
    Par NicolaTesla dans le forum Cognos
    Réponses: 6
    Dernier message: 23/03/2011, 16h22
  2. Un simple lien qui change le texte d'un div
    Par Seta-san dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 15/03/2008, 23h35
  3. exception NoClassDefFoundError org/jdom/output/XMLOutputter
    Par fasfousba dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 04/03/2008, 08h38
  4. Format de champ changé en texte apres requete
    Par WITER dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 24/11/2007, 14h32
  5. [c#] [ComboBox] DropDown change le texte
    Par th3r1ddl3r dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/05/2007, 11h44

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