我有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但是为空)。这样我就可以进一步处理我的应用程序的实际差异。
如何才能达到我的要求?
提前致谢!!!