1

2 つの XML ファイルがあり、正確に同じ情報が含まれていることを確認する必要があります。

タグまたは属性の順序に関係なく。

たとえば、次の 2 つの XML ファイルは等しくなければなりません。

test1.xml

<blocklist lastupdate="1459262434336" xmlns="http://www.mozilla.org/2006/addons-blocklist">
  <emItems>
    <emItem blockID="i454" id="sqlmoz@facebook.com">
      <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="sqlmoz@facebook.com">
      <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>

私は次のようないくつかの解決策を見つけようとしました:

私もこの解決策を試すつもりです

しかし、ここで私のオプションが何であるかについて何か考えがありますか? XML の正規化と正規化がこれを処理することになっていませんか?

ここで何が間違っていますか?

JSONで行う場合は、次を使用します。json.dumps(data, sort_keys=True, separators=(',', ':'))

4

1 に答える 1

1

このテーマに興味がある人のためにxml-verifier、xml を JSON ファイルに変換し、両方のファイルを Canonical JSON としてエクスポートして差分を取るスクリプトを作成しました。

https://github.com/mozilla-services/amo2kinto/blob/1.7.2//amo2kinto/verifier.py#L80-L108

于 2016-12-22T09:09:13.583 に答える