При использовании ванильный XML DOM, я могу сериализовать Document
объект в String
в Java, как это:Как сериализовать Saxon's DocumentInfo в строку?
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
StringWriter stringWriter = new StringWriter();
transformer.transform(new DOMSource(document), new StreamResult(stringWriter));
String result = stringWriter.getBuffer().toString();
Если я использую API S9, который является частью Saxon 9.7 HE, и у меня есть DocumentInfo
объект, как могу ли я сериализовать его на String
?
Редактировать: Вот полный рабочий пример, который основан на ответ @Michael Кей:
Processor processor = new Processor(false); // False = does not required a feature from a licensed version of Saxon.
Serializer serializer = processor.newSerializer();
// Other properties found here: http://www.saxonica.com/html/documentation/javadoc/net/sf/saxon/s9api/Serializer.Property.html
serializer.setOutputProperty(Serializer.Property.OMIT_XML_DECLARATION, "no");
serializer.setOutputProperty(Serializer.Property.INDENT, "yes");
XdmNode xdmNode = new XdmNode(documentInfo);
String result = serializer.serializeNodeToString(xdmNode);