XML文档转换为string
获取XML文档的string表示( 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>"
谢谢!
假设doc
是org.w3c.dom.Document
的实例:
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", "");
使用Apache XMLSerializer
这里是一个例子: http : //www.informit.com/articles/article.asp?p=31349&seqNum=3&rl=1
你也可以检查一下
首先,你需要摆脱所有文本节点中的所有换行符。 然后你可以使用标识转换来输出你的DOM树。 看看TransformerFactory#newTransformer()
的javadoc。