如何在Java中将org.w3c.dom.Element输出为字符串格式?
我有一个org.w3c.dom.Element
对象传递给我的方法。我需要查看包括其子节点的整个xml字符串(整个对象图)。我正在寻找一种可以将转换Element为xml格式字符串的方法System.out.println
。只是println()
在’Element’对象上将不起作用,因为toString()
将不会输出xml格式,也不会通过其子节点。有没有一种简便的方法而无需编写自己的方法来做到这一点?谢谢。
回答:
假设您要坚持使用标准API …
您可以使用DOMImplementationLS:
Document document = node.getOwnerDocument();DOMImplementationLS domImplLS = (DOMImplementationLS) document
.getImplementation();
LSSerializer serializer = domImplLS.createLSSerializer();
String str = serializer.writeToString(node);
如果<?xml version =“ 1.0” encoding=“UTF-16”?>
声明使您感到困扰,则可以使用转换器:
TransformerFactory transFactory = TransformerFactory.newInstance();Transformer transformer = transFactory.newTransformer();
StringWriter buffer = new StringWriter();
transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
transformer.transform(new DOMSource(node),
new StreamResult(buffer));
String str = buffer.toString();
以上是 如何在Java中将org.w3c.dom.Element输出为字符串格式? 的全部内容, 来源链接: utcz.com/qa/412370.html