Diffchecker logoDiffchecker
プライベート安全無料

XML Diff
2つのXMLファイルをオンラインで比較

単なるテキストではなく、ドキュメントツリーを理解する無料のXML diffツールで、2つのXMLファイルをセマンティックにオンライン比較できます。要素はID、名前、コンテンツによってマッチングされるため、整形や並び替え、空白の違いで誤った差分が出ることはありません。

SOAPペイロード、XSDスキーマ、適当なウェブサイトに貼り付けたくないベンダーXMLのために作られました。両方のドキュメントはクライアントサイドでパースされ、メモリ上で比較され、タブを閉じると破棄されます。アップロード用のエンドポイントやロギングはなく、認証情報を含むXMLや社内スキーマでも安心して使えます。

テキスト差分ではなく、セマンティックなXML比較

テキスト差分ツールはXMLを文字の塊として扱うので、要素を移動したりドキュメントを整形し直すとファイル全体が変更として点灯します。このXML比較ツールは両方の入力をDOMツリーにパースし、アイデンティティ(ID、名前、コンテンツ)で要素をマッチングし、実際に重要な差分だけを報告します。

オリジナルのXML
変更後のXML
<users>
<user id="1" status="active">
<name>John</name>
</user>
</users>
<users>
<user id="1" status="inactive">
<name>Jane</name>
</user>
</users>
属性が1件変更テキストが1件変更id属性でマッチング

検出されるXML差分のタイプ

このXMLファイル比較ツールは、2つのXMLドキュメント間の変更を6つのカテゴリに分類します。各差分はタイプがタグ付けされ、完全な要素パスで位置が示されます。

属性の変更

<book id="1"> -> <book id="2">
<item status="draft"> -> <item status="published">

テキストコンテンツの変更

<title>Old Name</title>
-> <title>New Name</title>

要素の追加

Original: (none)
Changed: <website>www.example.com</website>

要素の削除

Original: <phone>123-456</phone>
Changed: (removed)

属性の追加

<item> -> <item priority="high">

属性の削除

<item class="old"> -> <item>

スマートな要素マッチング

セマンティックXML差分の中核はマッチングです。左側のどの要素が右側のどの要素に対応するかを決定します。このXMLコンパレーターは4段階の優先順位ラダーを使用し、優先するシグナルが欠けている場合もスムーズにフォールバックします。

マッチング優先順位

  1. 完全一致: 同じタグ、同じID、同じコンテンツ -
  2. IDまたは名前一致: 同じタグでid、name、またはkey属性が一致 -
  3. コンテンツ一致: 同じタグで同一のテキストコンテンツ -
  4. タグ一致: 同じタグ名、最後の手段のフォールバック -

並び替えの例

Original:
<book id="1">A</book>
<book id="2">B</book>

Changed (reordered):
<book id="2">B</book>
<book id="1">A</book>

結果: 差分なし

2つのXMLファイルをオンラインで比較する方法

4ステップで、XMLをオンラインで差分比較し、空白や要素の並び替えによる誤検出なしにドキュメント間の実際の差分をすべて見つけられます。

01

オリジナルXMLを貼り付け

最初のXMLファイルを左のエディターにドロップします。ツールは比較前にドキュメントを検証し、行番号と列番号のポインタ付きでパースエラーを報告します。

02

変更後XMLを貼り付け

2番目のXMLを右のエディターに貼り付けます。両方のドキュメントはDOMツリーにパースされ、優先順位ラダーを使って要素がマッチングされます。

03

差分をレビュー

変更は属性、テキスト、追加、削除、属性の追加、属性の削除に分類され、それぞれ色分けされて完全な要素パスのタグが付きます。

04

ナビゲートして修正

任意の差分をクリックすると、両方のドキュメント内の該当要素にジャンプします。インライン編集で、XML比較ツールを離れずに差分を解消できます。

このXML比較ツールを使う理由

ドキュメントツリーを理解し、ブラウザ内で完全に動作し、XMLファイル比較時に意味のある変更を整形上のノイズから切り分けるXML差分チェッカーです。

セマンティックXML差分

要素は位置ではなく、ID、名前、コンテンツによってマッチングされます。要素のリストを並び替えても、もはや誤差分の壁は生まれません。

順序に依存しない

要素を自由に移動できます。このXMLファイル比較ツールは位置のノイズではなく、実際のコンテンツの変更だけを報告します。機械生成XMLを比較する際に重要です。

ビジュアルXML差分ビューア

シンタックスハイライト付きのサイドバイサイド整形XML。変更された属性、追加された要素、削除された要素は色分けされ、瞬時にスキャンできます。

100%プライベートかつ無料

XMLデータがブラウザのタブから外に出ることはありません。サーバーにアップロードするXML差分ツールとは異なり、これは完全にクライアントサイドで動作し、SOAPペイロードや社内スキーマでも安心です。

深い要素比較

ネストされた要素、属性、テキストコンテンツを任意の深さで再帰的に比較します。各差分はドキュメント内の完全なXPath風の位置を報告します。

即時結果

入力に合わせて差分が更新されます。比較ボタンも処理の遅延もありません。どちらかを編集するたびにXML差分がインクリメンタルに実行されます。

このXML差分ビューアで扱えるもの

整形式のXMLなら何でも。日常業務でXMLオンライン差分がもっとも大きな違いを生む場面は以下のとおりです。

設定ファイル

XML設定は依然としてJava、.NET、多くのエンタープライズスタックで標準です。環境、ブランチ、バージョン間で設定を差分比較し、どの設定が変わったかを正確に特定できます。

  • web.configとapp.configの差分
  • Maven pom.xmlの依存関係変更
  • Spring XML Beanの定義
  • log4j設定のドリフト
  • Tomcat server.xmlの比較

APIとSOAPメッセージ

SOAPとXML-RPCのペイロードは本質的に冗長で、テキスト差分では使い物になりません。セマンティックXML比較はノイズを切り落とし、変更されたフィールドだけを示します。

  • SOAPリクエストとレスポンスの差分
  • WSDLバージョンの比較
  • XML-RPCペイロードの調査
  • RSSとAtomフィードの監査
  • OFXや金融メッセージの差分

スキーマとドキュメント

スキーマ、変換、ドキュメントマークアップを比較します。XSDアップデートのレビュー、XSLTスタイルシート、デザインイテレーション間のSVGエクスポートに役立ちます。

  • XSDスキーマ進化の監査
  • XSLT変換の差分
  • SVGエクスポートの比較
  • DocBookとDITAドキュメントの差分
  • Androidマニフェストファイルのレビュー

よくある質問

XML diffツールとは何ですか?

XML diffツールは、XMLコンパレーターやXML差分チェッカーとも呼ばれ、2つのXMLドキュメントを比較して何が変わったかを報告します。セマンティックXML差分はドキュメントツリーをパースし、行番号ではなくアイデンティティで要素をマッチングするので、整形し直されたり並び替えられたXMLで単純なテキスト差分が生む誤差分を回避できます。

2つのXMLファイルをオンラインで比較するには?

最初のXMLを左のエディターに、2番目を右のエディターに貼り付けます。このXML比較ツールは両方のドキュメントをパースし、IDやコンテンツで要素をマッチングし、タイプ別に分類されたすべての差分を表示します。任意の差分をクリックすれば、両方のドキュメント内の該当要素にジャンプします。

このオンラインXML diffツールは無料ですか?

はい。このXML差分チェッカーは個人利用でも商用利用でも100%無料です。登録、利用クォータ、有料プラン、機能制限はありません。

XMLデータは安全ですか?

はい。XMLからツリーを構築するDOMParserはブラウザ組み込みのAPIで、サーバーへのリクエストは発生しません。これはXMLでは特に重要で、SOAPセキュリティヘッダーや設定属性内のAPIキーといった埋め込み認証情報を含むことがよくあるためです。差分実行時にDevToolsでネットワークトラフィックがゼロであることを確認できます。

このツールは大きなXMLファイルを比較できますか?

はい。パースと差分処理はご自身のデバイス上で実行されるため、実用的な上限はサーバーのタイムアウトではなくブラウザのメモリです。マルチメガバイトのSOAPレスポンス、ベンダーデータフィード、深くネストされた設定ファイルが待ち時間なしで比較でき、変更のないセクションは折りたたんで差分にフォーカスを維持できます。

セマンティックXML比較はどう動きますか?

ツールは両方のXMLドキュメントをDOMツリーにパースし、ツリーを並行に辿ります。要素は4段階の優先順位でマッチングされます。完全一致、idまたはname属性、同一のテキストコンテンツ、最後にタグ名のフォールバックです。つまり並び替えられた要素や整形し直されたドキュメントでは誤差分が出ません。

XML要素にIDがない場合はどうなりますか?

マッチャーは優先順位ラダーを自動的にフォールスルーします。id、name、key属性がない場合は、同一のテキストコンテンツでのマッチングを試み、最後にタグ名でマッチングします。これにより、識別子を追加することなく、ほとんどの実世界のXMLで良好な結果が得られます。

属性の変更は検出されますか?

はい。追加、削除、変更された属性は要素の変更とは別に報告され、それぞれに属性名、古い値、新しい値が付きます。アクセス制御や権限フラグのようなセキュリティ上重要な属性を監査しやすくなります。

深くネストされたXMLを比較できますか?

はい。XML比較は任意の深さで再帰的に実行されます。各差分は /catalog/book[3]/author のような完全な要素パスとともに報告されるので、ソースドキュメント内の変更箇所を正確に特定できます。

なぜ並び替えは差分として表示されないのですか?

ほとんどのXMLフォーマットでは、要素の順序は意味を持たないからです。同じ設定を別の順序で並べた設定ファイルは、セマンティックには同一です。セマンティックXML差分は位置ではなくアイデンティティでマッチングするので、並び替えはno-opとして扱われます。もし順序が用途に重要なら、単純なテキスト差分のほうが適しています。

XSDスキーマやSOAP WSDLを比較できますか?

はい。どちらも有効なXMLなので、通常のマッチングと比較機能がすべて適用されます。これはAPIコントラクトの変更をレビューする際に特に便利です。WSDL差分はテキスト差分ではノイズだらけですが、セマンティックXML差分ではクリーンになります。

XMLファイルのgit diffとどう違いますか?

git diffはXMLを行ごとに比較し、整形や並び替えをすべて変更として報告するため、実際の差分がノイズに埋もれます。セマンティックXML差分はドキュメント構造を理解し、空白を正規化し、アイデンティティで要素をマッチングするので、はるかに短く有用な変更リストが得られます。

XMLファイルのオンライン比較を今すぐ開始 - 無料

上までスクロールしてXMLを貼り付けてください。登録不要、ダウンロード不要、制限なし。