本文へスキップ
Case Converter Online
ja

XML整形・検証ツール

XML を貼り付けると、きれいにインデントしたり、圧縮したり、整形式(well-formed)かどうかを確認したりできます。壊れたマークアップを推測で直すことはせず、行と列で問題の場所を知らせます。

XML を貼り付けるか、「サンプル」を押してください。Ctrl+Enter で整形できます。処理はすべてブラウザ内で行われます。

XML整形ツールでできること

XML は、入れ子のタグで構造化されたデータを保存する形式です。RSS フィード、サイトマップ、SOAP API、Android のレイアウト、Maven の pom.xml、Office 文書、さまざまなデータのエクスポートで使われています。プログラムが書き出す XML は1行の長い文字列になっていることがよくあります。このツールは1行に1要素を並べ、インデントをそろえて、入れ子の構造を追いやすくします。

操作は3つです。

  • 整形:XML をインデントします。
  • 圧縮:タグの間の空白を取り除き、ファイルを小さくします。
  • 検証:文書が整形式かどうかを確認し、最初に見つかった問題を報告します。

使い方

  1. 左のボックスに XML を貼り付けるか、ファイルを開く または サンプル を押します。貼り付けた XML はすぐに整形されます。
  2. インデント をスペース2つ、スペース4つ、タブから選びます。
  3. 整形、圧縮、検証 のいずれかを押します。Ctrl+Enter で最後の操作を繰り返せます。
  4. コピー を押すか、ダウンロード で結果を .xml ファイルとして保存します。

整形前と整形後

1行で書かれた商品カタログです。

<?xml version="1.0" encoding="UTF-8"?><catalog><book id="bk101"><author>Gambardella, Matthew</author><title>XML Developer's Guide</title><price>44.95</price></book><book id="bk102"><author>Ralls, Kim</author><title>Midnight Rain</title><price>5.95</price></book></catalog>

スペース2つで 整形 した結果です。

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <author>Gambardella, Matthew</author>
    <title>XML Developer's Guide</title>
    <price>44.95</price>
  </book>
  <book id="bk102">
    <author>Ralls, Kim</author>
    <title>Midnight Rain</title>
    <price>5.95</price>
  </book>
</catalog>

テキストの内容は、要素と同じ行に残ります。これは重要なポイントで、<price>44.95</price> の中に改行を入れると、プログラムが読み取る値が変わってしまいます。

圧縮 を押すと、整形したものが上の1行の形に戻ります。同じ入力で 検証 を押すと、整形式の XML です。ルート要素は <catalog>、要素は合計9個です。 と報告されます。

CDATA セクションは書いたとおりに残るので、<script><![CDATA[if (a < b) run();]]></script> は変更されずに出力されます。

検証で見つかるエラー

XML の整形ツールの多くは、壊れたマークアップを黙って「修復」します。たとえば、意図していない場所でタグを閉じてしまうことがあります。このツールはまず文書をチェックし、最初の問題が見つかった時点で止まります。以下は実際に表示されるメッセージです。

入力 メッセージ
<to>Tove</from> 2行目、11列目:終了タグ </from> が、2行目で開いた <to> と一致しません
Smith & Sons 1行目、16列目:単独の "&" は &amp; と書く必要があります
閉じられていない <item> 4行目、1列目:終了タグ </list> が、3行目で開いた <item> と一致しません
<book id=101/> 1行目、10列目:"id" の値はクォートで囲む必要があります
トップレベルの要素が2つ 2行目、1列目:ルート要素は1つだけです。2つ目が見つかりました:<b>

入力欄で表示 を押すと、問題の箇所にカーソルが移動します。

「整形式」とは

XML 文書は、基本的な構文ルールを守っているとき「整形式(well-formed)」と呼ばれます。

  • すべての開始タグに対応する終了タグがあるか、<br/> のように自己終了タグになっている。
  • タグは開いたときと逆の順序で閉じられている。
  • ルート要素がちょうど1つだけある。
  • 属性の値はシングルクォートかダブルクォートで囲まれ、1つの要素に同じ属性が2回出てこない。
  • テキスト中の & や < は、&amp; や &lt; と書かれている。
  • <?xml ... ?> 宣言がある場合は、ファイルのいちばん最初に置かれている。

&nbsp; のような名前付きの実体参照は、DOCTYPE で宣言されている場合にしか使えません。XML 自体が知っているのは &lt;、&gt;、&amp;、&apos;、&quot; の5つだけだからです。

ヒントと制限事項

  • 検証にスキーマは使いません。整形式であっても、アプリケーションにとって正しい要素が使われているとは限りません。
  • テキスト内の空白はそのまま残ります。テキストの折り返しを変えたい場合は手作業で編集してください。
  • 圧縮してもコメントは残ります。ファイルを最小にしたいときは、先にコメントを削除してください。
  • すべて端末内で処理されるので、社内の設定ファイルやエクスポートデータも安心して貼り付けられます。

XMLを整形するほかの方法

xmllint:Linux や macOS では、xmllint --format file.xml でインデントしたコピーを表示し、xmllint --noout file.xml でエラーだけを報告できます。--schema を使えばスキーマに照らした検証もできます。

VS Code:XML の拡張機能(Red Hat の XML 拡張機能がよく使われています)を入れてから、「ドキュメントのフォーマット」を実行します。

Notepad++:XML Tools プラグインを入れると、Pretty Print コマンドが使えるようになります。

関連ツール

データが JSON なら JSON整形ツール を使ってください。設定ファイルには、YAML 向けに同じ役割を持つ YAML整形ツール があります。Web ページには、XML では認められない HTML のルールも理解できる HTML整形ツール をお使いください。

XML整形ツールのよくある質問

XML を自動で直さずにエラーにするのはなぜですか?

抜けているタグの位置を推測で補うと、気づかないうちにデータが変わってしまうおそれがあるからです。このツールはまず XML が整形式かどうかを確認し、それから整形します。整形式でない場合は、行、列、問題の内容を表示するので、ご自身で修正してください。

スキーマに照らした検証はできますか?

いいえ。「検証」で確認するのは整形式かどうかです:タグの対応が取れているか、属性がクォートで囲まれているか、ルート要素が1つか、実体参照が正しく書かれているか。XSD や DTD による検証には、xmllint のようなスキーマ対応のツールが必要です。

要素の中のテキストは変更されますか?

いいえ。短いテキストはタグと同じ行に残るので、<title>Midnight Rain</title> はそのままです。コメント、CDATA セクション、XML 宣言も残ります。

HTML にも使えますか?

その HTML が正しい XML(XHTML)でもある場合に限ります。通常の HTML では <br> のように閉じタグのないタグが使えますが、XML では使えません。一般的な Web ページには HTML整形ツールを使ってください。

XML はどこかにアップロードされますか?

いいえ。整形もチェックもブラウザ内で行われます。「ファイルを開く」で開いたファイルも端末内で読み込まれます。

その他のコード・データツール

すべてのツールを見る