Was ist der einfachste Weg, um hübsch zu drucken (auch bekannt als formatiert) und org.w3c.dom.Document
zu stdout?
103
Rufen Sie auf printDocument(doc, System.out)
, wo diese Methode so aussieht:
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")));
}
(Das indent-amount
ist optional und funktioniert möglicherweise nicht mit Ihrer speziellen Konfiguration.)
Wie wäre es mit:
quelle
Probieren Sie jcabi-xml mit einem Liner aus:
Dies ist die Abhängigkeit, die Sie benötigen:
quelle
quelle
Dies gibt eine schön formatierte Ausgabe zurück, indem rekursiver Abstieg / Aufstieg verwendet wird.
quelle
Wenn Sie dom4j verwenden, ist dies dom4JDOM.asString ()
quelle