我有一个org.w3c.dom.Element对象传递给我的方法。我需要查看包括其子节点的整个xml字符串(整个对象图)。我正在寻找一种可以将转换Element为xml格式字符串的方法System.out.println。只是println()在’Element’对象上将不起作用,因为toString()将不会输出xml格式,也不会通过其子节点。有没有一种简便的方法而无需编写自己的方法来做到这一点?谢谢。
org.w3c.dom.Element
System.out.println
println()
toString()
假设您要坚持使用标准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”?>声明使您感到困扰,则可以使用转换器:
<?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();