Bonjour,

Je souhaite mettre en forme des fichiers .xml en Java. Je souhaite avoir l’indentation pour la mise en page, voila mon code :

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
private String miseEnFormeXml(String xmlString) {
    try {
        SAXBuilder builder = new SAXBuilder();
        Document document = builder.build(toInputStream(xmlString));
        xmlString = documentToString(document);
    } catch (JDOMException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
 
    return xmlString;
}
 
private static InputStream toInputStream(String string) {
    return new ByteArrayInputStream(string.getBytes());
}
 
private static String documentToString(Document document) throws IOException {
    XMLOutputter outp = new XMLOutputter();
    outp.setFormat(Format.getPrettyFormat().setIndent("    "));
    StringWriter sw = new StringWriter();
    outp.output(document.getContent(), sw);
    return sw.getBuffer().toString();
}
La mise en page est bonne mais il me supprime la première ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?xml version="1.0" encoding="ISO-8859-1"?>
Comment le forcer à la garder ?

Merci.