如何将dom4j文档对象转换为字符串

Sha*_*mik 6 java dom dom4j

只是想找到一种方法将Dom4J Document内容转换为String.它有一个asXML() API,可以将内容转换为XML.在我的例子中,我正在使用Dom4J编辑非xml DOM结构并尝试将内容转换为String.我知道w3c文件的可能性.

任何指针将不胜感激.

谢谢

Jam*_*mes 7

asXml()从Document对象返回String

String text = document.asXML()
Run Code Online (Sandbox Code Playgroud)


Moh*_*our 3

为什么你不能这样做:

String result = dom.toXML().toString();
Run Code Online (Sandbox Code Playgroud)

如果您想长期完成此任务,则可以使用 TransformerFactoryDOM 转换为您想要的任何内容。您要做的第一件事是将文档包装在DOMSource中

DOMSource domSource = new DOMSource(document);
Run Code Online (Sandbox Code Playgroud)

准备一个StringWriter,以便我们可以将流路由到字符串:

StringWriter writer = new StringWriter();
StreamResult streamResult = new StreamResult(writer);
Run Code Online (Sandbox Code Playgroud)

准备一个TransformationFactory,以便您可以将 DOM 转换为提供的源:

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory .newTransformer();
transformer.transform(domSource, streamResult);
Run Code Online (Sandbox Code Playgroud)

最后,你得到了字符串

String result = writer.toString();
Run Code Online (Sandbox Code Playgroud)

希望有帮助!