piapia123
ja

XML の整形と圧縮

整形

処理はすべてブラウザ内で完結します。データは送信されません

入力
出力

XML をタグの階層に沿ってインデントし直します:要素ごとに1段、コメント・CDATA・処理命令・DOCTYPE はそれぞれ1行を占め、タグの内部の連続した空白は半角スペース1つにまとめます。ただし属性値の中の空白はそのまま残します(class="a b" の2つの空白には意味があります)。圧縮モードはタグの間の空白とコメントをすべて取り除きます。CDATA の中身は文字データなのでひとまとまりのまま運び、中にタグらしき文字列があっても構造が乱れることはありません。

機能

  • タグの階層ごとにインデント。インデントはスペース 2 個 / 4 個 / タブから選べます
  • タグの内部の連続した空白は半角スペース1つにまとめ、属性値の中の空白はそのまま保持します
  • 属性値の中に > があってもタグの終わりとは見なしません。タグが途中で切れることはありません
  • コメント・CDATA・<?xml ... ?>・DOCTYPE はそれぞれ別の行になります
  • DOCTYPE の内部サブセット [...] とその中の実体宣言が切り詰められません
  • CDATA の中身はそのまま保持し、中のタグや空白はインデントの対象にしません
  • 圧縮モードはタグの間の空白とコメントを削除します
  • 構文チェックはしません:タグが閉じていない、引用符が対応していない場合もエラーにせず、できる範囲でインデントします

使い方

  1. XML を入力欄に貼り付けます
  2. 処理方法とインデントを選びます
  3. Ctrl/⌘ + Enter を押すか「実行」をクリックします
  4. 「コピー」で結果を取り出せます

よくある質問

<br> の後のインデントがおかしいのはなぜですか?
XML には「閉じなくてよい要素」という概念がないため、<br> は閉じられていない開始タグとして扱われます。HTML を扱っている場合は HTML 整形ツールをお使いください。HTML の仕様に沿って空要素を処理します。
コメントは削除されますか?
整形モードではそのまま残します。圧縮モードでは削除します —— XML のコメントは解析結果に影響せず、削除したほうが小さくなるからです。
タグが閉じていないとどうなりますか?
エラーにはせず、既にある階層に沿ってできる範囲で並べます。ただし「見た目が整っている」ことは構造が正しいことを意味しないので、そのような入力はまず構造を直してからインデントを確認してください。
XML は送信されますか?
いいえ。処理はすべてブラウザのメモリ内で完結し、ページはリクエストを一切送りません。オフラインでも使えます。

関連ツール