abox.tools

言語: 日本語

XMLを整形して確認する方法

アップロードせずXMLの字下げを整え、解析エラーの場所を確認し、JSONへの変換で何が変わるかを理解します。

XMLフォーマッターを開く 読むために整えたXML、送るために平たく圧縮したXML、そして双方向のJSON変換。そのどれも、よそのサーバーに貼り付けられることはありません。

Markdownで表示

XMLを貼り付けるか読み込む

整形ツールを開き、XMLを貼り付けるかテキストファイルを選びます。字下げはスペース2個、4個、タブから選ぶか、圧縮出力を選べます。解析できた現在の結果をコピーまたはダウンロードします。入力を編集すると、確認中は古い結果が無効になります。

パーサーはローカルで動作し、文書の構文を確認します。XSDやDTDによる検証、アプリでの設定の正しさの証明、文中のURLへの接続は行いません。

属性、文字列の値、繰り返す要素を含むXML入力とJSONへの対応付け。
属性は@regionになり、portは文字列のまま、繰り返すfeature要素は配列になります。

解析エラーの位置を確認する

閉じていないタグ、対応しない終了タグ、不正な文字参照は整形と変換を停止します。エラー位置への移動で、報告された場所にカーソルを置けます。外側の要素は1つ必要で、ルートが2つある文書やルート外のテキストは拒否します。

<settings>
  <port>8080</port>
</settings>

DOCTYPEのテキストはそのまま保持します。外部エンティティは解決しません。宣言でファイルやウェブサイトを指定しても読み込みません。

字下げの前に空白の扱いを理解する

テキスト値、CDATA、混合内容の要素はテキストを保持します。子要素の間だけにある空白は、xml:space="preserve"が適用されない限りレイアウトとして扱います。設定を読みやすくするための処理ですが、その空白をデータとするアプリでは再使用前に確認が必要です。

XMLからJSONで変わるもの

結果を見る前に変換方向を選んでください。属性は@で始まるキー、繰り返す要素は配列となり、他の内容の隣のテキストは#textを使います。XMLの値は文字列のままです。<port>8080</port>は推測された数値にはなりません。

JSONへの対応付けでは、コメントと、テキストと子要素が交互に現れる順序が失われます。元に戻しても元の文書を再現する保証はありません。原本を保存し、アプリが使う項目を比較してください。

この対応付けをせずJSONだけを整形するには、JSON整形ツールを使います。