XMLUnit-2比较部分XML



我有一个本地testXML数据,如下所示

testLocalXML

<root>
<elementA>something different</elementA>
<elementB>something else</elementB>
<elementC>yet another thing</elementC>
</root>

但我从服务器获得的数据可能很大,并且会不断动态增加,例如

服务器响应

<root>
<elementA>something different</elementA>
<elementB>something else</elementB>
<elementC>yet another thing</elementC>
<elementD>next data</elementD>
<elementE>another data</elementE>
<elementF>F data</elementF>
.
.
... so on...
</root>

我不知道使用下面的逻辑可以忽略哪个node。我的节点是动态的。

.withNodeFilter(node -> !(node.getNodeName().equals("elementD") ||
node.getNodeName().equals("elementE"))

在这里,由于服务器响应是动态的并且不断增加,我如何使用XMLUnit验证testLocalXML中提到的任何数据?

嗯,我确实知道我感兴趣的元素,所以我可以很容易地进行

final Collection<String> expected = Arrays.asList("root", "elementA", elementB", "elementC");

并且可以添加过滤器作为

.withNodeFilter(n -> expected.contains(n.getNodeName()))