XML整形・検証

XMLを字下げして整形・1行に圧縮し、タグの対応や属性の引用符などの誤りを行と列で示します。XMLからJSONへの簡易変換もできます。

XMLを貼り付けると自動で検証します。

補足

  • 確かめるのは「整形式(well-formed)」かどうかまでです。開始タグと閉じタグの対応、ルート要素が1つか、属性の引用符と重複、& の書き方、コメント・CDATA・処理命令の閉じ忘れ、XML宣言の位置を見ます。DTD やスキーマによる妥当性の検証は行いません。
  • DOCTYPE 宣言は中身を解釈せず、そのまま残します。DOCTYPE がある場合は、そこで定義された独自の実体参照(  など)も許します。
  • 整形では、子要素だけを持つ要素を1段ずつ字下げします。文字と要素が混ざった内容(<p>文<b>強調</b></p> など)と xml:space="preserve" の中は、本文の空白を変えないよう元のまま1行に残します。
  • 属性の値・実体参照・CDATA は書き換えません。属性の間の空白だけを1つに揃えます。
  • JSON への変換は簡易的なものです。属性は @ を付けたキー、文字は要素の値(属性や子要素もあるときは #text)、同じ名前の子要素が2つ以上あるときだけ配列にします。値はすべて文字列で、前後の空白は取り除きます。コメントと処理命令は捨て、名前空間の接頭辞は名前の一部として扱います。

よくある質問

XMLのどこが間違っているか分かりますか?

分かります。閉じタグの対応違い、閉じ忘れ、属性の引用符の付け忘れや重複、裸の &、ルート要素が 2 つある、XML宣言の位置などを、行と列を添えたエラーで示します。閉じタグが合わないときは、対応するはずの開始タグの行も示します。

DTDやXMLスキーマ(XSD)で検証できますか?

できません。確かめるのは XML として正しい形か(整形式かどうか)までです。DOCTYPE 宣言は中身を解釈せずにそのまま残します。

整形すると本文の空白が変わりませんか?

文字と要素が混ざった内容(<p>文<b>強調</b></p> など)と xml:space="preserve" の中は、元の空白のまま 1 行に残すため変わりません。子要素だけを持つ要素の間の空白や改行は、字下げに置き換えます。属性の値・実体参照・CDATA は書き換えません。

XMLをJSONに変換できますか?

簡易的な変換ができます。属性は @ を付けたキー、文字は要素の値(属性や子要素もあるときは #text)、同じ名前の子要素が 2 つ以上あるときだけ配列にします。値はすべて文字列で、コメントと処理命令は含めません。JSON から XML への変換には対応していません。

↑↓ 移動 / Enter 開く / Esc 閉じる