ツール
JA

XMLファイルを比較

2つのXML文書を貼り付けるかドロップするだけで、変更点を確認できます。比較の前に両方を同じ形式で整形するため、要素・属性・テキストの実際の違いだけが左右に並べて表示されます。

元のXML

変更後のXML

プライバシー保護:データはお使いのブラウザ内で処理され、アップロードされることはありません。

2つのXMLファイルを比較する方法

  1. 元のXMLを左側に、変更後のXMLを右側に貼り付けるかドロップします。結果は入力に合わせて自動で更新されます。
  2. 無視する項目を選びます:テキスト内の空白、コメント、属性の順序。変更のない行を隠すを使うと、長い文書もコンパクトに表示できます。
  3. 追加・削除・変更された行の概要を確認し、左右に並んだ比較ビューで内容を確認します。左右を入れ替えで比較の方向を逆にできます。

XML差分で無視される違い

違い無視されるか
要素間のインデントと改行常に無視
属性値を囲む引用符が一重か二重か常に無視
<a/>か<a></a>か常に無視
テキスト内の余分な空白と改行テキスト内の空白を無視がオンのとき(初期設定でオン)
コメントコメントを無視がオンのとき
属性の順序属性の順序を無視がオンのとき(初期設定でオン)
要素の順序無視しない(移動した要素は削除と追加として表示)
名前空間プレフィックス、&amp;と&#38;の違い、CDATAとエスケープされたテキストの違い無視しない(記述どおりに比較)

XML比較の仕組み

両方の文書を解析し、選択したオプションで正規化したうえで、同じスペース2つのインデントで書き出します。こうして得られた行を、git diffが標準で使用しているMyers差分アルゴリズムで比較します。置き換えられた行は変更行としてペアにまとめられ、変更のない行が長く続く部分は折りたたむことができます。結果は整形後のバージョンに基づくため、行の位置が元のファイルと異なる場合があります。

よくある質問

要素の順序は比較結果に影響しますか?

はい。XMLの要素には順序があるため、移動した要素はある場所では削除、別の場所では追加として表示されます。無視できるのは属性の順序だけです。XMLでは属性の順序に意味がないためです。

見た目は同じなのに差分が出るのはなぜですか?

オプションを確認してください。対応するオプションがオフの場合、コメント、属性の順序、テキスト内の空白も差分として扱われます。また、名前空間プレフィックスや、&amp;と&#38;のようなエンティティの表記も、記述どおりに厳密に比較されます。

整形式でないXMLも比較できますか?

いいえ。両方の文書を先に解析する必要があります。どちらかにエラーがある場合は、その側の下に行と列が表示されるので、その場で修正するか、XML検証ツールで修正してください。

データはアップロードされますか?

いいえ。比較はブラウザ内で実行され、サーバーには何も送信されません。