開発ツール

XML整形ツール【無料・登録不要】インデント・圧縮・構文チェック|サクラエディタ用マクロ付き

XML 整形ツール
hr

XML を貼り付けるだけで、見やすくインデントを付けて整形できる無料ツールです。1 行への圧縮や、構文チェックにも対応しています。書き方に誤りがあるときは、何行目の何文字目が、なぜ間違っているのかを日本語で表示します。

同じルールで整形できるサクラエディタ用のマクロも配布しています。入力したデータはお使いのブラウザの中だけで処理され、サーバーには一切送信されません。

オプション

XML ファイルをここにドラッグ&ドロップ(5MB まで)

サクラエディタでも、このツールと同じルールで整形できます。

入力した XML はお使いのブラウザ内だけで処理されます。サーバーへの送信や保存は一切行いません。

使い方

XML を整形する

  1. 入力欄に XML を貼り付けます。貼り付けると同時に、出力欄に整形された XML が表示されます。
  2. 「インデント」で、スペース 2 つ・スペース 4 つ・タブから選べます。
  3. 「出力をコピー」でコピーするか、「出力をファイルとして保存」で 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. 登録せずにすぐ使う

  1. サクラエディタで XML ファイルを開きます。
  2. メニューの「ツール」から「名前を指定してマクロ実行」を選びます。
  3. ダウンロードした xml-format.js を選ぶと、ファイル全体が整形されます。一部だけを整形したいときは、その範囲を選択してから実行します。

3. 登録してメニューやショートカットキーから使う

よく使う場合は、マクロを登録しておくと便利です。

  1. メニューの「設定」から「共通設定」を開き、「マクロ」タブを選びます。
  2. 一番上の「マクロフォルダー」に表示されているフォルダーへ、xml-format.js を移動します。
  3. 一覧から空いている行を選び、「名前」に「XML整形」と入力します。
  4. 「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 として正しい形式(整形式)かどうかです。

入力したデータは保存されませんか?

保存されません。整形はすべてお使いのブラウザの中で行われ、サーバーへの送信も保存も行いません。ページを閉じると入力内容は消えます。

関連する記事・ツール

ABOUT ME
hr
hr
エンジニアとして働いている hr です。仕事や資格勉強で「こんなツールがあれば」と感じたものを、無料Webツールと解説記事にして発信しています。
記事URLをコピーしました