XMLツール

XML整形構造を見やすく、本文はそのまま

自動モードは変更から350ms後に更新します。オフにするとボタンまたはCtrl/Cmd+Enterで実行できます。テキストを含む部分は元の配置を保持します。

XML整形

XML入力

結果

XMLはこのブラウザータブ内で処理され、アップロードされません。

オプション

空白を含むテキスト、CDATA、xml:space="preserve"のある部分は配下ごと保持します。既存のインデントも変わらない場合があります。

入力または設定が変わりました。結果を更新してください。

設定ファイルが一行で届くと、目的の要素を探すだけでも手間がかかります。XML整形は直接のテキストを持たないコンテナーにインデントを追加し、それ以外の部分もツリーで確認できるようにします。XMLフォーマットを変更するときも、要素間の空白を一律には削除しません。

XML圧縮を選んでも、すでにある改行やインデントが消えるとは限りません。空白だけのテキストも保護の対象です。XML構文チェックの行・列表示を手掛かりに、不正なタグや未宣言の接頭辞を先に修正できます。

XML整形で確認しやすくなること

単語を区切る空白を守る

文章の途中に子要素があると、タグ間のスペースが単語の区切りになっていることがあります。直接のテキストがある要素は、空白だけでも配下全体を元の文字列で保持します。CDATAも同様です。見た目をそろえるために本文を連結してしまう処理は行いません。

構造だけの枝にインデントが付き、隣の混在テキストの枝では間隔が保持されている図。

名前空間宣言の場所が分かる

ルートで宣言した接頭辞が、内部の要素で再宣言されることがあります。宣言一覧には接頭辞、URI、宣言元の要素と行を表示します。同じURIでも宣言が複数あれば別々に表示されるため、件数は一意な名前空間の数とは異なります。

色分けされた名前空間宣言が、それぞれを持つツリーノードに対応する図。

結果を使う前の三つの確認

01

自動更新を使い分ける

入力や設定の変更が止まってから350ms後に自動実行します。必要なら自動をオフにして、ボタンやCtrl/Cmd+Enterで実行してください。古い結果は更新が済むまでコピーも保存もできません。

02

変わらないインデントを確認する

スペース2個から4個に切り替えても、元のインデントが残る場合があります。ルート直下の改行もテキストなので、文書全体が保護されることがあるためです。保護部分の件数と構造表示を併せて確認してください。

03

置換を確認してから適用する

既存の入力をサンプルで置き換えたり消したりするときは、文字数付きのプレビューを確認します。適用で変更し、キャンセルで戻ります。取り消しは直前の入力と結果を一緒に復元します。

エラーと階層を同じ画面で調べる

構文エラーの行と列

XML整形はタグの対応、属性の引用符、使用可能な文字と名前空間の制約を検査します。失敗すると行と列を表示し、入力を修正できる状態を保ちます。不足するタグを推測して補うことはありません。

展開できる構造表示

設定やフィードの階層をたどり、不要な枝は折りたためます。一覧は50件ずつ追加表示でき、保存対象は全結果です。要素や名前空間の項目をクリックすると元の行を表示します。表示を切り替えてもXMLは編集されません。

接頭辞と宣言元の対応

xmlns宣言ごとにURIと宣言元を表示し、デフォルト名前空間も区別します。宣言をまとめたり接頭辞を付け替えたりせず、元の文書を調べるための一覧として使えます。

更新済みの結果を保存

現在の入力と設定で処理が成功した結果だけをコピー・ダウンロードできます。入力を変えた後は以前の結果を持ち出せません。ダウンロードするXMLファイルの文字コードはUTF-8です。

対応する文書と保持の範囲

空白だけでもテキストとして保持
直接のテキスト、文字参照、CDATA、xml:space="preserve"を持つ要素は配下ごと保持します。圧縮が調整するのは保護されていないタグ内部の配置やルート外の空白です。必ず一行になるとは限らず、正規化や電子署名の検証でもありません。
XML 1.0とUTF-8に限定
ルートが一つの整形式XML 1.0文書を受け付けます。DOCTYPEはすべて拒否し、外部実体を読み込みません。encoding宣言はUTF-8、UTF8または省略のみ対応し、保存するバイト列と異なる宣言を残しません。
スキーマに対する検証はしない
XSD、DTD、RELAX NGとの照合には対応していません。構文が正しくても、請求書やSOAP契約の必須項目を満たすとは限りません。XPath、XSLT、自動修復、JSONへの変換もこのページの対象外です。
貼り付け入力には上限がある
入力は500,000 UTF-16コード単位、20,000ノード、深さ100、出力は2,000,000コード単位までです。一部の文字は2コード単位を使います。ファイル取り込みやURL取得はできません。入力・出力のいずれかが上限を超えた場合は処理を止め、部分的な結果を保存しません。

XML整形についての質問

無料で利用できますか?

はい。XML整形、構造表示、名前空間宣言の確認、コピーとダウンロードに料金やアカウント登録は不要です。入力の上限は適用されます。

XMLはサーバーにアップロードされますか?

処理は現在のブラウザータブ内で行います。コピーと保存は利用者の操作で実行され、名前空間URIへのアクセスも発生しません。

整形するとデータは変わりますか?

直接テキストやCDATAを持つ要素は配下全体を原文のまま保持します。テキストのない容器には配置を追加できるため、文書全体の文字列が完全一致するとは限りません。

XSDやDTDに対する検証はできますか?

できません。検査するのはXML 1.0の構文と名前空間の制約です。さらに、このツールではDOCTYPE宣言そのものを受け付けません。スキーマ検証には対応する別の環境を使用してください。

どのくらいの大きさまで扱えますか?

入力は500,000 UTF-16コード単位、20,000ノード、深さ100までです。ファイルのバイト数と文字数は同じではありません。超過した場合はエラーとなり、不完全なXMLを出力しません。

予期しない結果が出ましたか?

XML整形で設定ファイルを確認

XML整形のサンプルで、展開できる容器と保持される本文の違いを確認し、名前空間の宣言元をたどってみてください。