有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我可以使用XMLUnit比较两个结构稍有不同的XML文件吗?

我有以下结构的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
 <report>
  <data>
   <table>
    <row>
     <cell name="grouping_type">-1</cell>
     <cell name="book_name">Citygroup</cell>
     <cell name="account"/>
     <cell name="owner_name"/>
    </row>
    <row>
     <cell name="grouping_type">1</cell>
     <cell name="book_name">Citygroup</cell>
     <cell name="account">10933tros_3</cell>
     <cell name="owner_name">10933os</cell>
    </row>
  </table>
 </data>
</report>

还有一个:

<?xml version="1.0" encoding="UTF-8"?>
     <report>
      <data>
       <table>
        <row>
         <cell name="grouping_type">-1</cell>
         <cell name="book_name">Citygroup</cell>
         <cell name="account"/>
         <cell name="ïd"/>
         <cell name="owner_name"/>
        </row>
        <row>
         <cell name="grouping_type">1</cell>
         <cell name="book_name">Citygroup</cell>
         <cell name="account">10933tros_3</cell>
         <cell name="ïd">12</cell>
         <cell name="owner_name">10933os</cell>
        </row>
      </table>
     </data>
    </report>

唯一的区别是属性name=“ïd”的附加“cell”元素。我可以使用XMLunit比较这两个XML文件,这样唯一的区别就是增加了“cell”元素

我的代码是:

 DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
        DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();

        Document doc1 = docBuilder.parse(downloadedFile);
        Document doc2 = docBuilder.parse(etalonFile);

        org.custommonkey.xmlunit.Diff myDiff = new Diff(doc1, doc2);

        DetailedDiff detailedDiff = new DetailedDiff(myDiff);
        Iterator<org.custommonkey.xmlunit.Difference> iter = detailedDiff.getAllDifferences().iterator();
        org.custommonkey.xmlunit.Difference diff;
        NodeDetail controlNodeDetail;
        NodeDetail testNodeDetail;
        while (iter.hasNext()) {
            diff = iter.next();
            controlNodeDetail = diff.getControlNodeDetail();
            System.out.println(diff);
        }

XMLUnit将第一个XML的“id”单元格与第二个XML的“owner\u name”单元格进行比较。是否可以使用XMLUnit解决我的问题


共 (0) 个答案