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 :

Problème de saut de ligne à l'écriture d'un fichier xml [DOM]


Sujet :

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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Problème de saut de ligne à l'écriture d'un fichier xml
    Bonjour,

    J'ai un petit problème lorsque j'écris dans un fichier xml.
    En fait je récupere un fichier XML, je lui rajoute un élément à la racine (jusque là aucuns problèmes) Puis je sauvegarde le fichier dans un autre fichier xml (pour tester et pas altérer le fichier d'origine).
    Mais voila, meme si l'élément est bien rajouté, il me fou tout en vrac sur la même ligne.

    J'ai réglé l'OutputFormat setLineSeparator(LineSeparator.Windows). mais rien y fait.

    Quelqu'un aurait-il une petite idée.

    Merci de votre aide.

  2. #2
    Membre du Club Avatar de romaik
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 69
    Points
    69
    Par défaut
    Est ce que tu as mis
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    dans ton transformer ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Non je n'ai pas utilisé ceci car je n'ai pas de transformer.

    Voici mon bout du source :

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    DOMParser parser = new DOMParser();
    try {
                parser.setFeature("http://xml.org/sax/features/validation",true);
                parser.setFeature("http://apache.org/xml/features/dom/include-ignorable-whitespace",false);
                parser.parse("./xmlfiles/schemaType.xml");
                Document doc = parser.getDocument();
                doc.normalizeDocument();
                OutputFormat format = new OutputFormat((Document)doc);
     
                Node racine = doc.getDocumentElement();
     
    /*
     [...] construction du node a insérer censurée ;)
    */
     
                format.setLineSeparator(LineSeparator.Windows);
                format.setIndenting(true);
                format.setLineWidth(0);
                format.setPreserveSpace(true);
                format.setEncoding("ISO-8859-1");
     
                XMLSerializer serializer = new XMLSerializer(new FileWriter("./xmlfiles/schemaType3.xml"),format);
                serializer.asDOMSerializer();
                serializer.serialize(doc);
     
            } catch (SAXException e) {
                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
            } catch (IOException e) {
                e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
            }
    Merci de votre aide

  4. #4
    Rédacteur
    Avatar de CyberChouan
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    2 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 752
    Points : 4 314
    Points
    4 314
    Par défaut
    Citation Envoyé par Sogekink
    Non je n'ai pas utilisé ceci car je n'ai pas de transformer.
    Solution 1: Et bien utilise-en un...
    Solution 2: méthode "setIndent(String indent)" de la classe Format: il suffisait d'aller voir la javadoc...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Merci pour vos réponses, j'ai utilisé les transformer et ça fonctionne super merci pour l'aide.

    Par contre j'aimerai savoir quel est l'avantage des transformer par rapport a la méthode que j'utilisais dans mon code source ?
    Juste pour savoir et m'instruire en fait

    edit: voici meme une petite ligne de code a rajouter:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
    transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
    il semblerai que depuis la version 5 de java cela soit nécessaire car l'indentation ne fonctionnait plus avec seulement la première ligne.

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

Discussions similaires

  1. Problème de saut à la ligne en écriture
    Par Geoffrey49000 dans le forum Général Java
    Réponses: 2
    Dernier message: 20/05/2011, 13h09
  2. [XSLT][>CSV] problème sur sauts de ligne (RC)
    Par jaq dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 08/12/2006, 15h29
  3. Réponses: 3
    Dernier message: 16/08/2006, 17h32
  4. Problème de sauts de lignes lors d'un export Excel
    Par guidav dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2006, 14h58
  5. Problème de saut de ligne dans un script
    Par AurelBUD dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 16h25

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