Paul Morie..
38
我最终实现了一个带有DifferenceListener一个节点名称列表(带有名称空间)来忽略文本差异:
public class IgnoreNamedElementsDifferenceListener implements DifferenceListener {
private Set blackList = new HashSet();
public IgnoreNamedElementsDifferenceListener(String ... elementNames) {
for (String name : elementNames) {
blackList.add(name);
}
}
public int differenceFound(Difference difference) {
if (difference.getId() == DifferenceConstants.TEXT_VALUE_ID) {
if (blackList.contains(difference.getControlNodeDetail().getNode().getParentNode().getNodeName())) {
return DifferenceListener.RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL;
}
}
return DifferenceListener.RETURN_ACCEPT_DIFFERENCE;
}
public void skippedComparison(Node node, Node node1) {
}
}
我很惊讶这是复杂的 - 如果xmlunit没有内置的东西来忽略特定的元素,我会感到很失望吗? (14认同)