Mike Christianson
Mike Christianson

Categories

Tags

Getting nicely indented XML from XOM as a String is not intuitive. One might reasonably expect to try document.toXML() only to find the output lacking indentation.

Here’s how I used XOM’s Serializer and Java’s ByteArrayOutputStream to produce pretty XML.

ByteArrayOutputStream out = new ByteArrayOutputStream();
Serializer serializer = new Serializer(out, "UTF-8");
serializer.setIndent(2);
serializer.write(document);
String xml = out.toString("UTF-8");