使用XMLUnit jar的java比较2个xml文件

时间:2016-08-03 15:12:19

标签: java xml-parsing eclipse-plugin eclipse-rcp

我有2个xml文件,如下所示,

Input.xml中

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Email>
    <to>Tove</to>
    <from>sender</from>
    <CC>A</CC>
    <CC>B</CC>
    <CC>C</CC>
    <CC>D</CC>
    <CC>E</CC>
    <CC>F</CC>
</Email>

Reference.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Email>
    <to>Tove</to>
    <from>sender</from>
    <CC>B</CC>
    <CC>C</CC>
    <CC>D</CC>
    <CC>E</CC>
    <CC>F</CC>
</Email>

注意:两个文件之间的差异是A(Reference.xml中不存在)

我使用以下代码来获取文件的差异,

Diff diff = new Diff(InputDocument, ReferenceDocument);
DetailedDiff detailedDiff = new DetailedDiff(diff);
List<Difference> diffList = detailedDiff.getAllDifferences();

这里差异List有多个差异但实际差异只有一个节点。我知道这是由于一对一的匹配(比如将Input.xml文件中的A与Reference.xml的B进行比较,这导致节点的差异,并将Input.xml的下一个B与Reference.xml的C进行比较)等等。)

我的要求是差异列表应该只包含一个差异(预期节点A但是为空)。这样我就可以进一步处理我的应用程序的实际差异。

如何才能达到我的要求?

提前致谢!!!

0 个答案:

没有答案