我有一个 org.w3c.dom.Element
对象传递到我的方法中。我需要查看整个 xml 字符串,包括其子节点(整个对象图)。我正在寻找一种可以将 Element
转换为我可以 System.out.println
的 xml 格式字符串的方法。 'Element' 对象上的 println()
将不起作用,因为 toString()
不会输出 xml 格式并且不会通过其子节点。有没有一种简单的方法而无需编写我自己的方法来做到这一点?谢谢。
最佳答案
假设您想坚持使用标准 API...
您可以使用 DOMImplementationLS :
Document document = node.getOwnerDocument();
DOMImplementationLS domImplLS = (DOMImplementationLS) document
.getImplementation();
LSSerializer serializer = domImplLS.createLSSerializer();
String str = serializer.writeToString(node);
如果 声明困扰您,您可以使用 transformer而是:
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 - 如何在 java 中将 org.w3c.dom.Element 输出为字符串格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1219596/