XMLUnit-2 比较部分 XML

XMLUnit-2 compare partial XMLs

我有一个本地 test XML 数据如下

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()))