1

こんにちは、 の行を無視する方法を知りたいと思っていましたXMLUnit。たとえば、ファイル 1: 8 ファイル 2: 10 のように常に異なる次のタグがあり、ファイルの残りの部分が一致する必要がある場合、どうすればこれを行うことができますか?

私が使用していたサンプルコードは次のとおりです。

public class CommentDiffTest {

@Test
public void doTest() throws Exception{
    FileReader fr1 = null;
    FileReader fr2 = null;
    try {
        fr1 = new FileReader("file1.xml");
        fr2 = new FileReader("file2.xml");
    } catch (FileNotFoundException e) {
        e.printStackTrace();
        System.out.println("ERROR FILES FOR COMPARISON COULD NOT BE FOUND!");
    }

    //Add init code here.

    try {
        Diff diff = new Diff(fr1, fr2);
        System.out.println(diff.similar());
        System.out.println(diff.identical());

        DetailedDiff detDiff = new DetailedDiff(diff);
        List<String> differences = detDiff.getAllDifferences();
        for (Object object : differences) {
            Difference difference = (Difference)object;
            System.out.println("***********************");
            System.out.println(difference);
            System.out.println("***********************");
        }

    } catch (SAXException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
}
4

1 に答える 1

1

無視したいタグに適用されることがわかっている場合DifferenceListenerは、違いをダウングレードするものでオーバーライドします。RETURN_IGNORE_DIFFERENCE_NODES_IDENTICALただし、行番号ではなく、ノード名または XPath で識別する必要があります。

于 2015-02-03T19:50:40.943 に答える