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

时间:2011-04-07 01:48:17

标签: java dom dom4j

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

任何指针都将受到赞赏。

由于

3 个答案:

答案 0 :(得分:6)

asXml()从Document对象

返回String
String text = document.asXML()

答案 1 :(得分:3)

为什么你不能这样做:

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

如果你想做很长的事情,那么你可以使用 TransformerFactory 将DOM转换为你想要的任何东西。您要做的第一件事就是将文档包装在 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();

希望有所帮助!

答案 2 :(得分:0)

如何使用非XML dom,

Dom本质上是一个XML文档,

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

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