Java 在XMLUnit中自定义不同的Listener

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

我想修改XMLUnit中的DifferenceListener,以便在比较XML文件时忽略属性id。我试着用下面的方法来做

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()
包含与名称不同的属性相对应的DOM
Attr
对象,您必须考虑它们的本地名称或节点名称。感谢@stefan提供的帮助。问题终于解决了。