我正在尝试找到一种将Dom4J文档内容转换为字符串的方法。它有一个 asXML() API,可以将内容转换为XML格式。在我的情况下,我正在使用Dom4J编辑非XML DOM结构,并尝试将内容转换为字符串。我知道对于w3c文档来说这是可能的。
如果有任何提示,将不胜感激。
谢谢
asXml()方法返回Document对象的字符串表示。
String text = document.asXML()
为什么不能直接这样做:
String result = dom.toXML().toString();
如果您想使用较长的方法,则可以使用TransformerFactory将DOM转换为所需的任何内容。首先,您需要将文档包装在DOMSource中。
DOMSource domSource = new DOMSource(document);
准备一个StringWriter,这样我们就可以将流路由到字符串中:
StringWriter writer = new StringWriter();
StreamResult streamResult = new StreamResult(writer);
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory .newTransformer();
transformer.transform(domSource, streamResult);
最终,您得到了字符串:
String result = writer.toString();
如何拥有一个非 XML dom?
实质上,Dom 是一个 XML 文档。
asXml() 返回 Dom 的字符串表示形式,即 XML。
如果您只需要提取文本值,则可以遍历 dom 并在元素上使用 getValue(),但您所要求的似乎是 xml 字符串。
asXml()
对你不起作用?我不明白你需要什么,你能澄清一下你的问题吗? - javanna