是否有一些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文件的格式?
答案 0 :(得分:0)
Format.getRawFormat()
使用XMLOutputter
:
XMLOutputter outputter = new XMLOutputter(Format.getRawFormat());
outputter.outputString(document);
Format.getRawFormat()的
“返回执行无空格更改的新Format对象,使用UTF-8编码,不扩展空元素,包括声明和编码,并使用默认实体转义策略。 “
答案 1 :(得分:0)
对于任何面临此问题的人,请看
preserve formatting when updating xml file with groovy
只需在我的pom.xml中使用以下格式选项将jaxen添加为依赖项,即可将输出xml文件格式保留为与输入相同(稍有变化)。
Format.getRawFormat()。setLineSeparator(LineSeparator.NONE)