Симпатичный принт OMElement с использованием Axiom Parser - PullRequest
0 голосов
/ 04 июля 2018

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

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

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

1 Ответ

0 голосов
/ 08 июля 2018

Вы можете использовать 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));
...