11.17.2008

Pretty XML from XOM

by Mike Christianson

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.

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