Apa cara termudah untuk mencetak cantik (alias diformat) org.w3c.dom.Document
ke stdout?
103
Panggil printDocument(doc, System.out)
, di mana metode itu terlihat seperti ini:
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")));
}
(Ini indent-amount
opsional, dan mungkin tidak berfungsi dengan konfigurasi khusus Anda)
Bagaimana tentang:
sumber
Coba jcabi-xml dengan satu liner:
Ini adalah ketergantungan yang Anda butuhkan:
sumber
sumber
Ini akan mengembalikan keluaran yang diformat dengan baik dengan menggunakan penurunan / pendakian rekursif.
sumber
jika Anda menggunakan dom4j, itu akan menjadi dom4JDOM.asString ()
sumber