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");