XML整形ツール
XMLの整形は、下の欄にテキストを貼り付けるだけです。要素をきれいにインデントし、1行に圧縮することもでき、エラーがあれば行と列を表示します。データはブラウザの外に出ません。
出典:W3C – Extensible Markup Language (XML) 1.0: Well-Formed XML Documents。更新日:
計算方法
XMLの整形とは、要素ごとに改行して、階層ごとにインデントすることです。<a><b>1</b></a> は、<b> が <a> より1段深い読みやすい木構造になります。
ツールの動作
テキストを宣言、コメント、CDATA、DOCTYPE、タグ、テキストに分け、タグの順序を確認して、選んだインデントで文書を組み直します。テキストだけを含む要素は1行のままです。圧縮では、タグの間の空白をすべて取り除き、希望すればコメントも削除します。
エラーの見つけ方
- 終了タグの抜けや入れ子の間違い:行と列を表示します。
- ルート要素が2つ以上ある、またはルートの外にテキストがある場合。
- 閉じられていないタグ、コメント、CDATA。
要素名・属性名、引用符のない属性、重複した属性、単独の「&」も確認します。DTDやスキーマの規則は確認しません。処理はすべてブラウザ内で行われます。
ツリー表示・XPath・JSON
- ツリー表示:要素ごとに開閉できます。タグの後ろの数字は子ノードの数です。子は開いたときに初めて描画するので、大きな文書でも軽く動きます。
- XPath:サンプルでは、//book[@id=2]/title は要素 <title>Second book</title> を返し、count(//book) は 2、//price/@currency は2つの通貨を返します。XPath 1.0 の一部に対応し、長い形式の軸や計算には対応していません。
- XMLからJSONへ:属性は「@名前」、繰り返す要素は配列になります。値は文字列のままで、数値型への変換は行いません。
- ファイル:ファイルを開くかドラッグし、結果をコピーまたはダウンロードできます。50 MB までのファイルを読み込み、30万文字を超える内容は入力欄の外で扱います。非常に大きなファイルでは、ブラウザが少しの間止まることがあります。
安全性:DOCTYPEと実体
このツールは独自の解析処理でXMLを読み、ブラウザのXMLパーサーは使いません。DOCTYPEはただのテキストとして扱い、外部のDTDや実体を読み込むことはなく、文書内で定義された実体も展開しません。そのため、外部実体を使う攻撃(XXE)や実体を増殖させる攻撃は効きません。
よくある質問
XMLをオンラインで整形するには?
XMLを入力欄に貼り付けて「整形」を選ぶと、要素がスペース2つ・4つ、またはタブでインデントされます。処理はすべてブラウザ内です。
XMLファイルのエラーはどう探しますか?
このツールは整形式かどうかを確認し、最初の問題を行と列つきで表示します。たとえば終了タグの間違いや抜けです。
貼り付けたXMLはアップロードされますか?
いいえ。整形も確認もお使いのブラウザ内で行われ、サーバーには何も送られません。
XPathでXMLを検索するには?
「XPath検索」を開き、//book[@id=2]/title のような式を入力します。該当した結果がパスと一緒に表示されます。XPath 1.0 の一部に対応しています。
XMLをJSONに変換できますか?
はい。「JSONに変換」を選びます。属性は「@名前」、繰り返す要素は配列になり、値は文字列のままです。
他人から受け取ったXMLファイルを開いても安全ですか?
このツールは何も読み込まず、DOCTYPEの実体も展開しません。そのため、外部実体を使う攻撃(XXE)はここでは働きません。
出典・根拠
- W3C – Extensible Markup Language (XML) 1.0: Well-Formed XML Documents
- W3C – XML Path Language (XPath) Version 1.0
- Wikipedia – Extensible Markup Language
更新日: · 編集方針
関連ツール
- JSON整形・フォーマットチェック(構文チェック・圧縮)JSONを貼り付けるだけで整形・構文チェック。エラーの行と列を日本語で表示し、インデント整形、1行に圧縮、キーの並べ替えもブラウザ内で完結します。
- XML・CSV構文チェックXMLが整形式か、CSVがRFC 4180に沿っているかをブラウザ上でチェック。エラーの行と列、区切り文字の判定、表のプレビューを表示します。
- HTML整形ツールHTML整形ツール:ソースコードをインデントして読みやすくしたり、1行に圧縮したりできます。閉じ忘れのタグも通知。処理はブラウザー内だけで完結します。
- YAML JSON変換:YAMLからJSONへ、JSONからYAMLへYAMLとJSONを相互変換。YAML 1.2に準拠し、リスト・アンカー・複数行テキスト・コメントに対応。エラーは行番号で表示。ブラウザ内で完結し、アップロード不要です。
- SQL整形ツール(SQLフォーマッター)SQLを読みやすく整形。キーワードを大文字にし、インデント・列・条件を行ごとに分けます。圧縮も可能。ブラウザ内で処理するのでクエリは外部に送信されません。
- サイトマップXML作成:URL一覧からsitemap.xmlを生成サイトマップXMLをURL一覧から作成。Sitemapsプロトコルに沿ったsitemap.xmlを生成し、エラーチェックとダウンロードまで対応。登録不要、ブラウザ内で完結します。
- IPアドレス確認IPアドレス確認サイト。あなたのグローバルIPアドレス(IPv4・IPv6)をすぐに表示し、おおよその地域とプロバイダーもわかります。無料で、IPアドレスは保存しません。
- JSONをTypeScriptに変換JSONをTypeScriptに変換します。サンプルデータから型・インターフェース・JSONスキーマを生成し、省略可能なフィールドも判別。ブラウザ内で完結します。
- JavaScriptを圧縮JavaScriptを圧縮します。コメントと余分な空白を取り除いてコードを小さくし、減ったバイト数を表示。ブラウザ内で完結し、アップロード不要です。