2 つの XML ファイルを比較し、Python スクリプトで違いを処理する効率的な方法を見つけようとしています。シナリオは、次のような 2 つの XML ファイルがあることです。
<?xml version="1.0" encoding="UTF-8"?>
<garage>
<car>
<color>red</color>
<size>big</size>
<price>10000</price>
</car>
<car>
<color>blue</color>
<size>big</size>
<price>10000</price>
<!-- [...] -->
<car>
<color>red</color>
<size>big</size>
<price>11000</price>
</car>
</car>
</garage>
これらの XML ファイルには、何千もの小さなオブジェクトが含まれています。ファイル自体のサイズは約 5 MB です。注意が必要なのは、2 つのファイルのエントリがごくわずかしか異なっておらず、異なる情報のみを処理する必要があることです。つまり、どのエントリが変更または追加されたかを効率的に (!) 調べる必要があります。残念ながら、XML ファイルには、私がまったく気にしないいくつかのオプションのエントリも含まれています。
次の解決策を検討しました。
- 両方のファイルを解析して DOM ツリーにし、ループで比較します
- 両方のファイルをセットに解析し、set.difference などの演算子を使用します
- 処理の一部を grep や diff などの Linux ツールに渡すようにしてください。
このようなアプローチの実行経験があり、進むべき方向を教えてくれる人はいますか?