4

是否有一些 Java 库可以帮助我解析 XML 文件,更改某些内容,然后将输出写入一个新的 XML 文件,该文件在缩进、空格方面基本上与第一个文件完全相同?

我尝试过 Jdom,但似乎 XMLOutputter 类更改了我原始 xml 的缩进。

所以基本上,如果我的输入 xml 文件如下所示:

<root><node>A</node></root>

我想将 A 更改为 B,输出应如下所示:

<root><node>B</node></root>

不喜欢

<root>
    <node>B</node>
</root>

就像 Jdom 输出它一样。

这只是一个例子,但我的观点是:是否有一些 xml 解析库考虑了初始 xml 文件的格式?

4

2 回答 2

1

对于遇到此问题的任何人,请查看

使用 groovy 更新 xml 文件时保留格式

只需在我的 pom.xml 中使用如下格式选项添加 jaxen 作为依赖项,即可保留与输入相同的输出 xml 文件格式(稍作更改)。

Format.getRawFormat().setLineSeparator(LineSeparator.NONE)

于 2019-09-23T13:33:48.863 回答
0

使用Format.getRawFormat()for XMLOutputter

XMLOutputter outputter = new XMLOutputter(Format.getRawFormat());
outputter.outputString(document);

Format.getRawFormat() 的文档说

“返回一个不执行空白更改的新格式对象,使用 UTF-8 编码,不扩展空元素,包括声明和编码,并使用默认实体转义策略。”

于 2013-06-08T20:58:24.520 回答