2016-04-04 14 views
0

私は2つのXMLファイルを持っており、それらが同じ正確な情報を含んでいることを確認する必要があります。Pythonで標準形式の2つのXMLファイルで正規化

タグまたは属性の順序に関係なく。この2つのXMLファイルがあるべき例えば

に等しい:

test1.xml

<blocklist lastupdate="1459262434336" xmlns="http://www.mozilla.org/2006/addons-blocklist"> 
    <emItems> 
    <emItem blockID="i454" id="[email protected]"> 
     <versionRange minVersion="0" maxVersion="*" severity="3"> 
     <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"> 
      <versionRange maxVersion="3.6.*" minVersion="3.6"/> 
     </targetApplication> 
     </versionRange> 
     <versionRange maxVersion="*" minVersion="0"/> 
     <prefs> 
     <pref>test.blocklist</pref> 
     </prefs> 
    </emItem> 
    </emItems> 
</blocklist> 

test2.xml

<blocklist lastupdate="1459262434336" xmlns="http://www.mozilla.org/2006/addons-blocklist"> 
    <emItems> 
    <emItem blockID="i454" id="[email protected]"> 
     <prefs> 
     <pref>test.blocklist</pref> 
     </prefs> 
     <versionRange minVersion="0" maxVersion="*" severity="3"> 
     <targetApplication id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"> 
      <versionRange maxVersion="3.6.*" minVersion="3.6"/> 
     </targetApplication> 
     </versionRange> 
     <versionRange minVersion="0" maxVersion="*"/> 
    </emItem> 
    </emItems> 
</blocklist> 

私のようないくつかの解決策を見つけることを試みました。

私もthis solution

を試してみるつもりですしかし、あなたはここで私のオプションであるものの任意のアイデアを持っていますか? XML正規化とCanonicalizationは私のためにこれを処理する必要がありますか?

私はここで間違っていますか?私はJSONでそれを行うとしたら

私が使用します。この問題について興味を持っている人のためにjson.dumps(data, sort_keys=True, separators=(',', ':'))

+0

http://pastebin.com/HVJ0mwK7はどうですか? –

+0

属性が等価であることはどのように検証されますか? – Natim

+0

申し訳ありません、それを間違って読んでください。簡単に変更することができますタグをプル、値と並べ替え –

答えて

関連する問題