【问题标题】:Java: Writing a DOM to an XML file (formatting issues)Java:将 DOM 写入 XML 文件(格式问题)
【发布时间】:2010-09-14 18:11:04
【问题描述】:

我正在使用 org.w3c XML API 打开现有的 XML 文件。我正在删除一些节点,而我正在添加其他节点。

问题是添加的新节点是一个接一个地写入的,没有换行符,也没有缩进。虽然XML 文件确实有效,但人类很难检查它。

是否无论如何要在每个节点之后添加缩进,或者至少一个换行符?

【问题讨论】:

标签: java xml formatting pretty-print


【解决方案1】:

我假设您正在使用Transformer 进行实际写入(到StreamResult)。在这种情况下,请在致电 transform 之前执行此操作:

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

【讨论】:

  • 顺便说一句:在最新的 jdk 中有一个错误可以解决这个问题,您需要先做: TransformerFactory tFactory = TransformerFactory.newInstance(); tFactory.setAttribute("缩进数", 2);
  • 干杯 @Karussell 设法解决了我遇到的问题
【解决方案2】:
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");

来源 How to pretty print XML from Java?

【讨论】:

    【解决方案3】:

    在下面的帖子中有几个“漂亮打印”的好例子

    how to pretty print xml from Java

    Link to my effort at a solution

    【讨论】:

      猜你喜欢
      • 2012-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-31
      • 2015-10-28
      • 2011-08-05
      • 1970-01-01
      • 2016-08-15
      • 1970-01-01
      相关资源
      最近更新 更多