有没有一种简单的方法将我的XML对象转换回java中的字符串?
下面是一些简单的代码我掏出库我身边的。可能想打扮它,但它的工作原理:
import java.io.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;
public String TransformDocumentToString(Document doc)
{
DOMSource dom = new DOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult result = new StreamResult(writer);
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
transformer.transform(dom, result);
return writer.toString();
}
编辑:作为评论或更早注意到,我有一个语法错误。不得不拉出一些敏感的线条,所以我不会把罐头放回去,并把它们放回错误的顺序。谢谢! ;-)
优秀...但应该指出,你可能(像我一样)有一个过时的版本的xalan.jar,你将失败在TransformerFactor.newInstance()调用(即使它不会产生任何错误蚀)。 xalan-2.7.0.jar是正确的版本。 – 2009-02-03 19:46:40
您可以使用dom4j的:
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer = new XMLWriter(System.out, format);
writer.write(document);
我把它放在评论中,但后来认为,为了将来的参考,如果我真的将它添加为答案,人们可能会发现它更容易。所以... Joshua.ewer的回答是正确的,但需要xalan-2.7.0.jar。
良好的通话。感谢您指出了这一点;我应该。 – 2009-02-03 23:02:21
你在使用什么API,并输入那个对象? – Loki 2009-02-03 18:58:45