Красивая печать OMElement с использованием Axiom Parser

В Axiom я не могу предоставить параметр отступа для OMElement. Используя метод сериализации, omelement записывается в файл. Но это не красивая печать.

Есть ли какая-либо опция в парсере Axiom? Код, который я использовал для записи в файл.

 FileOutputStream fileOutputStream= new FileOutputStream("filename");
 XMLOutputFactory xmlOutputFactory= XMLOutputFactory.newInstance();
 XMLStreamWriterwriter = xmlOutputFactory.createXMLStreamWriter(fileOutputStream);
 omElement.serializeAndConsume(writer);
 writer.flush();
 writer.close();

person V_Dev    schedule 04.07.2018    source источник


Ответы (1)


Вы можете использовать Transformer для добавления отступа, как в следующем фрагменте кода:

Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
transformer.transform(omElement.getSAXSource(true), new StreamResult(fileOutputStream));
person Andreas Veithen    schedule 08.07.2018
comment
Проблема с классом Transformer заключается в том, что он не предоставляет возможность сохранения элемента Entity в docType. - person V_Dev; 16.07.2018