2017-10-12 19 views
0

まず、この素晴らしいユーティリティ "XMLUnit"に感謝します。XMLの相違点を見つけた後にExcelを作成する

私は2つのXMLを比較し、その違いを見つけたいという要件があります。違いが見つかると、XMLデータ全体(同様のデータと異なるデータ)を表示するExcelレポートを生成する必要があります。データの類似点と相違点は、色を使ってこのExcelで強調表示されます。

例 -

まずXML-

<Project> 
    <Policy> 
     <Amount>20</Amount> 
     <Balance>10</Balance> 
     <PolicyDetails> 
      <Amount>30</Amount> 
      <SendDate>2017-04-03</SendDate> 
     </PolicyDetails> 
     <PolicyDetails> 
      <Amount>100</Amount> 
      <SendDate>2017-04-02</SendDate> 
     </PolicyDetails> 
     <PolicyDetails> 
      <Amount>50</Amount> 
      <SendDate>2016-04-02</SendDate> 
     </PolicyDetails> 
    </Policy> 
</Project> 

セカンドXML -

<Project> 
    <Policy> 
     <Amount>10</Amount> 
     <Balance>10</Balance> 
     <PolicyDetails> 
      <Amount>50</Amount> 
      <SendDate>2017-04-03</SendDate> 
     </PolicyDetails> 
     <PolicyDetails> 
      <Amount>100</Amount> 
      <SendDate>2017-05-05</SendDate> 
     </PolicyDetails> 
    </Policy> 
</Project> 

今、私はこれらのXMLのの類似点と相違点を見つけると、データが表示されますどのExcelを生成する必要がありますas-

enter image description here

私はそう遠 Iを行っている何

など、私は私が1でXMLのJAVA 1を使用してを読んで、これを行うことができます知っているが、XMLのの、実際には順序が異なることができ、データのさまざまな組み合わせを持っていますXMLUnit 2 "DiffBuilder"を使用し、これらのXMLの相違点をすべて見つけました。私はカスタムロジックのために私のカスタムDifferenceEvaluatorを使っています。

私は、どのようにして目的のフォーマットで相違点や類似点をExcelに書き込むかを把握したいと思います。誰でもここで私を助けてくれますか?

私は、ComparisonListenerを実装し、すべての類似点と相違点を把握し、ここからExcelに書き始めることも考えました。

+0

これは広範囲です。特定の問題 –

+0

@RCに絞ってください。遅くなってすみません。私はXMLUnit 2.0を使用しています。問題を解決するためには、ヘルプが必要です.- 1。XMLUnitが違いを返すと、どうやってそれらを読んで、Excelに挿入しますか? XMLUnitによって返される違いは人間が読めるものではありません。 2. XMLUnit 2.0を使用してXMLの類似点を識別する方法はありますか – Ankit

答えて

0

マップキーがxpathであるMap<String, String>に各xmlを変換することで、このようなことが実現しました。

あなたの最初のXML用など私のような地図を作成したい:あなたはその後、行方不明/異なるエントリのための2つのマップを比較することができ

{ 
    "Project[1]/Policy[1]/Amount[1]": "20", 
    "Project[1]/Policy[1]/Balance[1]": "10", 
    "Project[1]/Policy[1]/PolicyDetails[1]/Amount[1]": "30", 
    "Project[1]/Policy[1]/PolicyDetails[1]/SendDate[1]": "2017-04-03", 
    "Project[1]/Policy[1]/PolicyDetails[2]/Amount[1]": "100", 
    "Project[1]/Policy[1]/PolicyDetails[2]/SendDate[1]": "2017-04-02", 
    // etc 
} 

を。 xpathsを使用して、XML内の場所へのセルのリンクをクリックする素晴らしいUIを提供することができます。

関連する問題