java - 如何在 java 中将 org.w3c.dom.Element 输出为字符串格式?

标签 java xml dom

我有一个 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/

相关文章:

javascript - 在 history.js 中强制回退 html4

java - getTableCellRendererComponent参数: "Value" and "IsSelected" for JComboBox

java - 如何使用 Struts2 消息属性格式化带括号的负数?

java - Spring-MVC/JPA。从数据库中提取数据后没有结果

java - 如何在 Eclipse 中创建自定义 GUI 控件以用于 Android 应用程序布局?

android - 如何在 BottomNavigationView 中设置指标?

.net - WCF REST 结果 XML

java - 在 DOM 中使用 mongodb 对象的 _id 值是个好主意吗?

java - 定向最小边界框

dom - 使用xpath来自不同父项的地址元素