1

ここで回答されたこの質問の .net バージョンがあります: XML input/output with Fitnesse

Java バージョンの Fitnesse でそれを行う必要がありますが、似たようなものはないようです。XML を受け入れて XML を返すいくつかのテストがあるため、フィールドで XML を処理するには、入力と期待される出力の両方が必要です。さまざまな html エスケープを試しましたが、比較側ではうまくいかないようです。XML は恣意的であるため、ドメイン オブジェクトに解析して個々のフィールドを比較することはできません (できますが、さまざまなオブジェクト マッピングが大量に存在します)。

この問題を一般的な方法で処理する方法を見つけた人はいますか? どこかに存在する .net ソリューションに相当するカスタム Java は?

4

2 に答える 2

0

これが最善の解決策かどうかはわかりません。オブジェクトに変換するための非常に単純な API を持つXStreamなど、いくつかの XML フレームワークを使用したい場合があります。これを使用して、両方の XML ファイルを JAVA に変換し、JAVA 比較を使用することができます。XMLJAVA

簡単な手順は次のとおりです。

  1. MyXMLObjXML 属性を Java 属性にマップするなどの単純な Java オブジェクト (POJO) を定義します。
  2. equals上記の POJO クラスでメソッドを作成/生成しますMyXMLObj
  3. XML を Java で次のように変換します。

    XStream xstream = new XStream();
    XStream xstream = new XStream(new DomDriver());
    //or
    //XStream xstream = new XStream(new StaxDriver());
    
     MyXMLObj myXMLObj1= (MyXMLObj)xstream.fromXML(xml1);
     MyXMLObj myXMLObj2= (MyXMLObj)xstream.fromXML(xml2);
    
  4. 2 つのオブジェクトを次のように単純に比較します。

     if(myXMLObj1.equals(myXMLObj2)){
        System.out.println("Matching");
     }else{
        System.out.println("Not Matching");
     }
    
于 2012-10-19T21:08:39.680 に答える