【发布时间】:2012-06-03 16:32:38
【问题描述】:
我有两个 XML 文件。第一个 XML 有一堆节点,这些节点也应该出现在第二个 XML 中。第二个 XML 也可能有一些额外的节点。我需要一个可以自动执行此检查的基于 Java 的程序 - 即它应该告诉我给定两个 XML 文件,第一个文件的所有节点都存在于第二个 xml 中。
我正在研究 Java + XMLUnit。然而,XMLUnit 对此没有确切的解决方案。请帮忙。
谢谢。
【问题讨论】:
-
恐怕不行。我相信该链接试图实现的是比较两个预期相等的 XML。我试图断言一个 XML 是另一个 XML 的子集。稍微不一样。但事实证明这是一个很难破解的。
-
好吧,this 对那个问题的回答说,使用那个特定的库,您可以将您的 xmls 转换为字符串,然后使用字符串操作,您可以轻松地确定一个是否是另一个的子集。跨度>
-
这两个 XML 每次都完全不同吗?还是它们是通用模式的实例?如果您是第二种情况,您可以创建一个 xsd 并使用它来验证文件。
-
@KazekageGaara - 我明白误解在哪里了。在我的例子中,第二个 xml 可以有新节点,这些新节点可能散布在第一个 XML 中的原始节点集中。所以,字符串方法是行不通的。如果我遗漏了什么,请告诉我。