XML整形ツール【無料・登録不要】インデント・圧縮・構文チェック|サクラエディタ用マクロ付き
XML を貼り付けるだけで、見やすくインデントを付けて整形できる無料ツールです。1 行への圧縮や、構文チェックにも対応しています。書き方に誤りがあるときは、何行目の何文字目が、なぜ間違っているのかを日本語で表示します。
同じルールで整形できるサクラエディタ用のマクロも配布しています。入力したデータはお使いのブラウザの中だけで処理され、サーバーには一切送信されません。
XML ファイルをここにドラッグ&ドロップ(5MB まで)
サクラエディタでも、このツールと同じルールで整形できます。
入力した XML はお使いのブラウザ内だけで処理されます。サーバーへの送信や保存は一切行いません。
使い方
XML を整形する
- 入力欄に XML を貼り付けます。貼り付けると同時に、出力欄に整形された XML が表示されます。
- 「インデント」で、スペース 2 つ・スペース 4 つ・タブから選べます。
- 「出力をコピー」でコピーするか、「出力をファイルとして保存」で formatted.xml として保存します。
試しに使ってみたいときは、「サンプルを入れる」を押してください。
1 行に圧縮する・構文だけチェックする
「モード」で「圧縮」を選ぶと、タグの間の改行やインデントを取り除いて 1 行にまとめます。通信量を減らしたいときや、設定値として埋め込むときに便利です。「構文チェックのみ」を選ぶと、XML が正しい形式かどうかだけを確認します。
エラーの場所を確認する
タグの閉じ忘れや、属性の引用符の付け忘れなどがあると、エラーの行と文字の位置、原因が表示されます。「入力欄のエラーの場所を選択」を押すと、入力欄の該当箇所が選択されます。
ファイルから読み込む
点線の枠に XML ファイルをドラッグ&ドロップするか、「ファイルを選択」から選びます(5MB まで)。文字コードは、UTF-8・Shift_JIS・UTF-16 を自動で判定します。保存するときは UTF-8 になります。
整形のルール
このツールは、XML の意味が変わらないことを優先して整形します。変わるものと変わらないものは、次のとおりです。
| 対象 | 整形後 |
|---|---|
| タグとタグの間の改行・インデント | 指定したインデントで整え直す |
| 属性の間のスペース | 1 つにそろえる(属性の順番や値、引用符の種類は変えない) |
| 文字を含む要素の中身 | 一切変えない(例:<p>Hello <b>World</b></p> はそのまま) |
| xml:space=”preserve” が付いた要素の中身 | 一切変えない |
| コメント・CDATA セクション・XML 宣言・DOCTYPE 宣言 | そのまま残す |
| 中身が空の要素 | <a></a> のまま(オプションで <a/> にまとめられる) |
サクラエディタで使う
サクラエディタ用のマクロを使うと、エディタで開いている XML をその場で整形できます。整形のルールはこのツールと同じです。
1. マクロをダウンロードする
ツールの下にある「サクラエディタ用マクロをダウンロード」を押すと、xml-format.js が保存されます。
2. 登録せずにすぐ使う
- サクラエディタで XML ファイルを開きます。
- メニューの「ツール」から「名前を指定してマクロ実行」を選びます。
- ダウンロードした xml-format.js を選ぶと、ファイル全体が整形されます。一部だけを整形したいときは、その範囲を選択してから実行します。
3. 登録してメニューやショートカットキーから使う
よく使う場合は、マクロを登録しておくと便利です。
- メニューの「設定」から「共通設定」を開き、「マクロ」タブを選びます。
- 一番上の「マクロフォルダー」に表示されているフォルダーへ、xml-format.js を移動します。
- 一覧から空いている行を選び、「名前」に「XML整形」と入力します。
- 「File」で xml-format.js を選び、「設定」ボタンを押してから「OK」で閉じます。
登録したマクロは、メニューの「ツール」にある「登録済みマクロ」から実行できます。ショートカットキーを割り当てる場合は、「共通設定」の「キー割り当て」タブで、「種別」に「外部マクロ」、「機能」に「XML整形」を選び、割り当てたいキーを選んで「割当」を押します。
インデントなどの設定を変える
xml-format.js をサクラエディタで開き、先頭の「Settings」の部分を書き換えて保存します。
// Indent: " " = 2 spaces, " " = 4 spaces, "\t" = tab
var INDENT = " ";
// true = compress to one line
var MINIFY = false;
// true = write empty elements as <a/> instead of <a></a>
var SELF_CLOSE = false;
たとえばタブでインデントしたいときは、var INDENT = "\t"; に書き換えます。
マクロの安全性について
サクラエディタのマクロは、パソコン上で動くプログラムです。このマクロはエディタ内の文字を書き換えるだけで、ファイルの読み書きや、外部との通信、ほかのプログラムの実行は行いません。マクロはテキストファイルなので、メモ帳などで開いて中身を確認できます。
入手元がわからないマクロは実行しないようにしましょう。このマクロも、必ずこのページからダウンロードしたものを使ってください。
XMLとは?
XML(Extensible Markup Language)は、<タグ> で囲んでデータの意味や構造を表す書き方です。設定ファイル(Java の pom.xml、Android のレイアウト、.NET の app.config など)や、システム間のデータ交換、RSS フィード、SVG 画像など、幅広い場面で使われています。
XML は、開始タグと終了タグの対応や、属性値を引用符で囲むことなど、書き方のルールが厳密に決まっています。ルールを守った XML を「整形式(well-formed)」と呼びます。このツールの構文チェックは、この整形式のルールを確認します。
よくある質問
整形すると、データの内容が変わりませんか?
文字を含む要素の中身や、xml:space=”preserve” が付いた要素の中身は一切変えないため、データの内容は変わりません。変わるのは、タグとタグの間の改行とインデントだけです。詳しくは「整形のルール」をご覧ください。
スキーマ(XSD)や DTD に沿っているかもチェックできますか?
できません。このツールがチェックするのは、タグの対応や属性の書き方といった、XML として正しい形式(整形式)かどうかです。
入力したデータは保存されませんか?
保存されません。整形はすべてお使いのブラウザの中で行われ、サーバーへの送信も保存も行いません。ページを閉じると入力内容は消えます。