Quelle est la manière la plus simple d'imprimer un joli format (aka formaté) org.w3c.dom.Document
sur stdout?
103
Appelez printDocument(doc, System.out)
, où cette méthode ressemble à ceci:
public static void printDocument(Document doc, OutputStream out) throws IOException, TransformerException {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
transformer.setOutputProperty(OutputKeys.METHOD, "xml");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
transformer.transform(new DOMSource(doc),
new StreamResult(new OutputStreamWriter(out, "UTF-8")));
}
(Le indent-amount
est facultatif et peut ne pas fonctionner avec votre configuration particulière)
Que diriez-vous:
la source
Essayez jcabi-xml avec une seule doublure:
Voici la dépendance dont vous avez besoin:
la source
la source
Cela retournera une sortie joliment formatée en utilisant une descente / remontée récursive.
la source
si vous utilisez dom4j, ce serait dom4JDOM.asString ()
la source