Java 在XMLUnit中自定义不同的Listener
我想修改XMLUnit中的DifferenceListener,以便在比较XML文件时忽略属性id。我试着用下面的方法来做Java 在XMLUnit中自定义不同的Listener,java,xml,xmlunit,Java,Xml,Xmlunit,我想修改XMLUnit中的DifferenceListener,以便在比较XML文件时忽略属性id。我试着用下面的方法来做 import org.custommonkey.xmlunit.DifferenceListener; import org.custommonkey.xmlunit.Difference; import org.custommonkey.xmlunit.DifferenceConstants; public class ignoreIDs implements Diff
import org.custommonkey.xmlunit.DifferenceListener;
import org.custommonkey.xmlunit.Difference;
import org.custommonkey.xmlunit.DifferenceConstants;
public class ignoreIDs implements DifferenceListener {
private static final int[] IGNORE_VALUES = new int[] {
DifferenceConstants.ATTR_VALUE.getId(),
};
private boolean isIgnoredDifference(Difference diff) {
int DiffId = diff.getId();
for (int value: IGNORE_VALUES) {
if (DiffId == value) return true;
}
return false;
}
public int differenceFound(Difference difference) {
if (isIgnoredDifference(difference)) return RETURN_IGNORE_DIFFERENCE_NODES_IDENTICAL;
else return RETURN_ACCEPT_DIFFERENCE;
}
public void skippedComparison() {
}
}
但我无法理解如何在IGNORE_VALUES数组中只输入id属性。请帮助我。现在,对于属性值中的所有差异,您将返回true
diff.getNodeDetail().getNode()
包含与名称不同的属性相对应的DOMAttr
对象,您必须考虑它们的本地名称或节点名称。感谢@stefan提供的帮助。问题终于解决了。