XML フォーマッター

ブラウザで XML を整形・圧縮。2/4 スペースやタブのインデントに対応し、コメント、CDATA、処理命令を保持してパースエラーも表示します。

入力内容とファイルはブラウザ内に留まります

入力 XML

XML を貼り付けるか .xml ファイルをここにドロップすると、インデント整形や 1 行への圧縮ができます。

エディター内では Tab でインデントします。Esc を押してから Tab でエディターの外に移動します。

このページの内容

1 行に詰まった XML やインデントの崩れた XML を、きれいにインデントされたツリーに整えたり、転送用に圧縮したりできます。入力はブラウザ標準の XML パーサーで読み込むため、不正なマークアップは黙って「修正」されず、行と列つきで報告されます。

詳細な機能

フォーマット はすべての要素を 1 行ずつに分け、2 スペース、4 スペース、またはタブでインデントします。テキストだけを含む要素は 1 行のまま (<to>Ann</to>)、空要素は <b/> と書き出されます。コンパクトモード (圧縮) はタグ間の空白を取り除きます。XML 宣言、コメント、<![CDATA[…]]> セクション、<?xml-stylesheet …?> などの処理命令、DOCTYPE は保持され、特殊文字は出力時に再びエスケープされます (&amp;、&lt;、&quot;)。

パースは HTML ではなく厳格な XML として行われます。閉じていない・対応しないタグ、引用符の欠落、未定義の実体があるとフォーマットは中止され、パーサーのメッセージが表示されます。たとえば Chrome では error on line 1 at column 11: Opening and ending tag mismatch です。DOCTYPE の内部サブセット (<!DOCTYPE x [ … ]>) はブラウザが公開しないため保持されません。

.xml ファイルを開くかエディターにドロップし、結果をコピーするか formatted.xml として保存します。エディターはタグ、属性、コメントをハイライトし、要素を折りたため、大きなファイルでも高速です。インデントとコンパクトの設定はこのブラウザに記憶されますが、XML 自体が保存されたりどこかに送信されたりすることはありません。

実用例

1 行のドキュメントをインデントする: <note><to>Ann</to><from>Bob</from></note> を 2 スペースで整形すると、<note>、 <to>Ann</to>、 <from>Bob</from>、</note> の 4 行になります。

コメントと CDATA を保持する: <?xml version="1.0"?><!-- cfg --><config><db host="localhost" port="5432"/><![CDATA[a<b]]></config> では宣言とコメントがそれぞれ独立した行になり、<![CDATA[a<b]]> は <config> の中でそのまま残ります。

圧縮する: コンパクトモードでは、<a>1</a> と <b/> を含むインデント済みの <root> が <root><a>1</a><b/></root> になります。

壊れたタグを見つける: <a><b></a> は「Opening and ending tag mismatch: b line 1 and a」で拒否されます。

このツールの使い方

  1. XML を追加する

    入力 XML エディターに貼り付けるか、開く をクリックして .xml ファイルを読み込むか、ファイルをエディターにドロップします。

  2. 出力スタイルを選ぶ

    インデントサイズ (2スペース、4スペース、タブ) を選ぶか、コンパクトモード (圧縮) をオンにします。

  3. フォーマットする

    フォーマット をクリックするか Ctrl+Enter (macOS では Cmd+Enter) を押します。パースエラーはエディターの上に表示されます。

  4. 結果を使う

    コピー をクリックするか、保存 で結果を formatted.xml としてダウンロードします。

ヒントとベストプラクティス

  • インデントやコンパクトモードを変更すると、現在のドキュメントがすぐに再フォーマットされます。
  • 混在コンテンツは分割され前後の空白が削られます。<p>Hello <b>world</b>!</p> は Hello、<b>world</b>、! の別々の行になります。テキスト内の空白が意味を持つドキュメントは再フォーマットしないでください。
  • HTML の癖は XML では通用しません。スラッシュのない <br> や DTD のない &nbsp; はここではエラーです。
  • 行番号の横の矢印をクリックすると要素を折りたためます。Ctrl/Cmd+F でドキュメント全体を検索できます。
  • エディター内では Tab でインデントが入ります。フォーカスを外すには Esc を押してから Tab を押します。
  • アップロードは不要です。ドキュメントはページ内で処理され、一度開いた後はオフラインでも動作します。