获取 XML 文档(org.w3c.dom.Document)的字符串表示形式的最简单方法是什么?也就是说,所有节点都将在一行上。
org.w3c.dom.Document
举个例子
<root> <a>trge</a> <b>156</b> </root>
(这只是一个树表示,在我的代码中它是一个 org.w3c.dom.Document对象,所以我不能将它看作一个 String)
到
"<root> <a>trge</a> <b>156</b> </root>"
谢谢!
使用 Apache XMLSerializer
举个例子: Http://www.informit.com/articles/article.asp?p=31349&seqnum=3&rl=1
you can check this as well
Http://www.netomatix.com/xmlfiletostring.aspx
首先,您需要去掉所有文本节点中的所有换行符。然后可以使用标识转换来输出 DOM 树。看看 TransformerFactory#newTransformer()的 javadoc。
TransformerFactory#newTransformer()
假设 doc是 org.w3c.dom.Document的实例:
doc
TransformerFactory tf = TransformerFactory.newInstance(); Transformer transformer = tf.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); StringWriter writer = new StringWriter(); transformer.transform(new DOMSource(doc), new StreamResult(writer)); String output = writer.getBuffer().toString().replaceAll("\n|\r", "");