Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XMLUnit显示添加或删除的节点_Java_Xml_Xmlunit - Fatal编程技术网

Java XMLUnit显示添加或删除的节点

Java XMLUnit显示添加或删除的节点,java,xml,xmlunit,Java,Xml,Xmlunit,我有两个类似这样的xml文件: <personlist> <person> <name>Test</name> </person> <person> <name>Test2</name> </person> </personlist> 这个方法怎么样 public class DifferenceinXMLTes

我有两个类似这样的xml文件:

<personlist>
    <person>
        <name>Test</name>
    </person>
    <person>
        <name>Test2</name>
    </person>
</personlist>

这个方法怎么样

public class DifferenceinXMLTest extends XMLTestCase {
  @Test
  public void test() {
    final String xml1 = ""
    final String xml2 = ""
    XMLUnit.setIgnoreWhitespace(true); // ignore whitespace differences
    assertXMLEquals(xml1, xml2);  // assertXMLEquals comes from XMLTestCase
  }
}
要获取列表,可以使用detaileddiff类

一些例子-


添加和删除节点是一种特殊的区别。因此,您需要使用其中一种方法,以提供所有差异。如果使用XMLUnit 1.x,这意味着使用
DetailedDiff
getAllDifferences
——如果使用XMLUnit 2.x,这意味着查看
Diff
getDifferences
,很可能是
DiffBuilder

XMLUnit将标记差异,控件或测试节点细节为
null
,类型为
CHILD\u node\u NOT\u FOUND\u ID
,在1.x中为
CHILD\u LOOKUP
。如果测试详细信息为
null
,则节点已被删除。如果控件详细信息为
null
则已添加


使用XMLUnit 1.x时,请确保设置
XMLUnit.setCompareUnmatched(false)
,否则您可能不会收到任何
子节点\u not \u FOUND
差异。

只有在两个xml文件相同时才进行此测试。但是我想让XMLUnit告诉我这两个文件之间的区别。特别是我想知道添加或删除了哪些节点。更新答案-希望能有所帮助。
1 person node removed
public class DifferenceinXMLTest extends XMLTestCase {
  @Test
  public void test() {
    final String xml1 = ""
    final String xml2 = ""
    XMLUnit.setIgnoreWhitespace(true); // ignore whitespace differences
    assertXMLEquals(xml1, xml2);  // assertXMLEquals comes from XMLTestCase
  }
}