如何在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

回到顶部