只是想找到一种将 Dom4J 文档内容转换为字符串的方法。它有一个asXML() API,可以将内容转换为 XML。就我而言,我正在使用 Dom4J 编辑非 xml DOM 结构并尝试将内容转换为字符串。我知道在 w3c 文档的情况下它是可能的。
任何指针将不胜感激。
谢谢
asXml() 从 Document 对象返回字符串
String text = document.asXML()
为什么你不能这样做:
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();
希望有帮助!
你怎么能有一个非 XML dom,
Dom 本质上是一个 XML 文档,
asXml() 返回 Dom 的字符串表示形式,即 XML,
如果您只需要提取文本值,那么您可以遍历元素上的 dom 和 getValue() 但您所要求的似乎是 xml 字符串,