7

只是想找到一种将 Dom4J 文档内容转换为字符串的方法。它有一个asXML() API,可以将内容转换为 XML。就我而言,我正在使用 Dom4J 编辑非 xml DOM 结构并尝试将内容转换为字符串。我知道在 w3c 文档的情况下它是可能的。

任何指针将不胜感激。

谢谢

4

3 回答 3

9

asXml() 从 Document 对象返回字符串

String text = document.asXML()
于 2016-07-22T10:26:17.410 回答
3

为什么你不能这样做:

String result = dom.toXML().toString();

如果您想长期这样做,那么您可以使用TransformerFactory将 DOM 转换为您想要的任何东西。你要做的第一件事就是将你的 Document 包装在一个DOMSource中

DOMSource domSource = new DOMSource(document);

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

StringWriter writer = new StringWriter();
StreamResult streamResult = new StreamResult(writer);

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

TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory .newTransformer();
transformer.transform(domSource, streamResult);

最后,你得到String

String result = writer.toString();

希望有帮助!

于 2011-04-07T02:34:15.583 回答
0

你怎么能有一个非 XML dom,

Dom 本质上是一个 XML 文档,

asXml() 返回 Dom 的字符串表示形式,即 XML,

如果您只需要提取文本值,那么您可以遍历元素上的 dom 和 getValue() 但您所要求的似乎是 xml 字符串,

于 2011-11-25T11:41:45.093 回答