获取XML文档(org.w3c.dom.Document
)的字符串表示的最简单方法是什么?也就是说,所有节点都将在一行上。
例如,从
<root>
<a>trge</a>
<b>156</b>
</root>
(这只是一个树表示,在我的代码中它是一个org.w3c.dom.Document
对象,所以我不能把它当作一个字符串)
至
"<root> <a>trge</a> <b>156</b> </root>"
谢谢!
发布于 2011-03-28 17:11:55
假设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", "");
发布于 2011-03-28 17:03:19
使用Apache XMLSerializer
下面是一个例子:http://www.informit.com/articles/article.asp?p=31349&seqNum=3&rl=1
你也可以检查这个
发布于 2011-03-28 17:07:16
首先,您需要删除所有文本节点中的所有换行符。然后,您可以使用标识转换来输出DOM树。看看TransformerFactory#newTransformer()
的javadoc。
https://stackoverflow.com/questions/5456680
复制相似问题