Qual é a maneira mais fácil de imprimir corretamente (também conhecido como formatado) org.w3c.dom.Document
em stdout?
103
Call printDocument(doc, System.out)
, onde esse método se parece com este:
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")));
}
(O indent-amount
é opcional e pode não funcionar com sua configuração específica)
E se:
fonte
Experimente jcabi-xml com um liner:
Esta é a dependência de que você precisa:
fonte
fonte
Isso retornará uma saída bem formatada usando descida / subida recursiva.
fonte
se você usar dom4j, será dom4JDOM.asString ()
fonte