データは同じだがタグ名が異なる 2 つの XML を比較したかった。2 つ (入力と出力) を比較し、JAVA を使用して結果を表示する必要があります。
例えば。
XML 1
<hometown>newyork</hometown>
...
XML2
<city>newyork</city>
hometown
XML 1 のタグ値が XML 2 のタグ値と同じであることを確認する必要がありcity
ます。
誰か提案はありますか?
さて、私は次のようなアプローチを取りました。入力のどのタグが出力のどのタグにマップされるかを示すマッピングドキュメントを作成しました。次に、入力XMLと出力XMLの両方を解析し、それらをHashMaps(キーと値のペア)に変換します。ここで、入力XMLの値を比較する場合は、inputTagのリストをループして、マッピングシートからタグの対応するものを検索し、入力タグと出力タグの両方の値を取得したら、それを比較して結果を公開します。
質問はかなり広いです。提供された情報を考えると、DOM や JDOM などのドキュメント ツリーのメモリ内表現を使用することをお勧めします。StAX や SAX などのストリーミング パーサーは、異なる構造のドキュメントを比較する場合に使用するのがはるかに難しくなります。両方の形式が同様に表現力がある場合、別の方法として、XML 変換を使用して一方のドキュメントを他方の形式に変換することができます。次に、両方を正規化し、その後、テキストの違いをまっすぐにします。