Java: Écrire un DOM à un fichier XML (problèmes de formatage)

j'utilise org.w3c XML API pour ouvrir un fichier XML existant. J'enlève quelques noeuds, et j'en ajoute d'autres à la place.

le problème est que les nouveaux noeuds qui sont ajoutés sont écrits l'un après l'autre, sans nouvelle ligne et sans indentation. Alors c'est vrai que le XML le fichier est valide , il est très difficile pour un humain de l'examiner.

est là de toute façon pour ajouter l'indentation , ou au moins une nouvelle ligne après chaque nœud?

28
demandé sur M. A. Kishawy 2008-10-02 13:10:33

3 réponses

je suppose que vous utilisez un Transformer pour faire l'écriture réelle (à un StreamResult ). Dans ce cas, faites-le avant d'appeler transform :

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
55
répondu Chris Jester-Young 2015-12-07 11:29:13
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

source comment imprimer du XML à partir de Java?

18
répondu Thilina 2017-05-23 12:02:44

il y a quelques bons exemples de "jolie impression" dans le fil suivant

comment pretty print xml à partir de Java

lien à mon effort à une solution

1
répondu mlo55 2017-05-23 12:10:33