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>" 

谢谢!

假设docorg.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

你也可以检查一下

http://www.netomatix.com/XmlFileToString.aspx

首先,你需要摆脱所有文本节点中的所有换行符。 然后你可以使用标识转换来输出你的DOM树。 看看TransformerFactory#newTransformer()的javadoc。