Ответил здесь: StAX XML форматирование на Java
РЕДАКТИРОВАТЬ: быстрый пример (без очистки ресурсов) с использованием stax-utils (https://stax -utils.dev.java.net / ):
XMLOutputFactory xmlOutputFactory = XMLOutputFactory.newInstance();
FileOutputStream file = new FileOutputStream("d:/file.xml");
XMLEventWriter writer = xmlOutputFactory.createXMLEventWriter(file);
writer = new IndentingXMLEventWriter(writer);
XMLEventFactory eventFactory = XMLEventFactory.newInstance();
writer.add(eventFactory.createStartDocument());
writer.add(eventFactory.createStartElement("", "", "a"));
writer.add(eventFactory.createStartElement("", "", "b"));
writer.add(eventFactory.createEndElement("", "", "b"));
writer.add(eventFactory.createEndElement("", "", "a"));
writer.add(eventFactory.createEndDocument());
Это дает вам:
<?xml version="1.0" encoding="UTF-8"?>
<a>
<b></b>
</a>