0

我必须说 xml 文件说 abc.xml 和 123.xml 几乎相似,我的意思是具有相同的内容,但第二个,即 123.xml 比前一个有更多的内容。我想使用 Java 读取这两个文件,并比较每个标签的 abc.xml 中存在的内容是否与 123.xml 中的相同,如果 123.xml 有一些附加标签,则将其添加到 abc.xml 中如果 abc.xml 没有标签,则从 123.xml 中删除标签。

我在 xml 旧版本和新版本中有两个配置文件。在新标签中可以添加或删除,我想使用旧 xml 文件的内容和新 xml 文件的 xml 模式生成 xml 文件。希望我现在有点清楚了。

4

1 回答 1

0

这有点模糊。有很多方法可以做到这一点。特别是当您考虑应该如何进行合并时。一侧总是压倒另一侧吗?这意味着当较新的文件较少时,也可能会删除标签。

以下是两种处理方法:

  1. 使用在任何版本控制系统中都可以找到的现有内容,例如 diff 和 patch。您可以使用 java 在控制台上运行差异和补丁应用程序。在这种情况下,你会做一个差异。如果存在差异,请使用 create patch 获取描述更改的补丁文件,然后应用补丁。

  2. 如果您将在 java 中做所有事情,我不会尝试解析文件并对其进行序列化。它会让你发疯。我会使用一种像 JAX-B 这样的编组来转换 Pojo 中的 xml。然后您可以比较 pojo 并从目标 pojo 中添加或删除缺失的元素,然后将其序列化回 xml。

希望这将为您的进一步调查提供一个起点;)

于 2013-08-16T11:38:17.640 回答