4
元素,我有以下testXML寻找失踪使用XMLUnit
<root>
<a>test</a>
<b>bee</b>
<d/>
</root>
虽然templateXML看起来像这样
<root>
<a/>
<b/>
<c/>
<d>
<e/>
</d>
</root>
我想XMLUnit测试返回缺少的元素,在这种情况下, 'C'和 'e' 的丢失
/根[1]/C [1]缺少
/根[1]/d [1]/E [1]缺少
我的代码看起来是这样的
public static ArrayList<Difference> testCompareToSkeletonXML(String xml, String template) throws Exception {
XMLUnit.setCompareUnmatched(false);
XMLUnit.setIgnoreAttributeOrder(true);
XMLUnit.setIgnoreComments(true);
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setIgnoreDiffBetweenTextAndCDATA(true);
DifferenceListener myDifferenceListener = new IgnoreTextAndAttributeValuesDifferenceListener();
DetailedDiff myDiff = new DetailedDiff(new Diff(template, xml));
// myDiff.overrideDifferenceListener(myDifferenceListener);
myDiff.overrideElementQualifier(new RecursiveElementNameAndTextQualifier());
ArrayList<Difference> returnList = new ArrayList<Difference>();
List<Object> allDifferences = myDiff.getAllDifferences();
for(Object obj: allDifferences){
Difference dif = (Difference) obj;
if(dif.getTestNodeDetail().getNode()== null){
//returnList.add(dif);
System.out.println(dif.getControlNodeDetail().getXpathLocation());
}
}
return returnList;
}
输出产生看起来像这样
/根[1]/A [1]
/根[1]/B [1 ]
/根[1]/C [1]
/根[1]/d [1]
感谢您的帮助
--SD
是什么问题? – 2012-05-05 22:35:52
这是问题,我想XMLUnit返回丢失的元素,在这种情况下'c'和'e'丢失 /root [1]/c [1]丢失 /root [1]/d [ 1]/e [1]丢失 – SDS 2012-06-12 16:00:58