XML の繰り返し要素の表への変換
XML の繰り返し要素を、1 要素 1 行の表にして CSV にする。
XML を貼り付けると、繰り返している要素(item・record など)を 1 要素 = 1 行にして、属性と子要素を列に展開した表にします。CSV としてダウンロードでき、整形式でない XML は位置つきで指摘します。入力はブラウザの中だけで処理し、送信しません。
XML を貼り付けて繰り返し要素を表にする
入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。
結果
エラー 0 件・警告 0 件・情報 2 件
指摘(エラー・警告・情報)
- 情報 <item> 属性や子要素が行によって違うため、空のセルがある行が 1 行あります。列は全行の和集合です。
- 情報 出力全体 文字の前後の空白は取り除いています。名前空間の接頭辞(ns:name)は名前の一部としてそのまま列名に使います。
| 繰り返し要素 | <item> |
|---|---|
| 探した範囲 | <items> の子 |
| 行の数 | 2 行 |
| 列の数 | 3 列 |
1 要素 1 行の表
| @id | name | price |
|---|---|---|
| 1 | りんご | 120 |
| 2 | みかん |
初期表示は入力例「属性と子要素を列にした商品一覧」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。
ご利用にあたって
- XML の中身によっては、列が多くなり、表計算ソフトで開いたときに見づらくなることがあります。
- 大きな XML はお使いの端末の性能によって処理に時間がかかることがあります。
使い方
- 表にしたい XML をテキスト欄に貼り付けるか、XML ファイルを選びます。
- 行にしたい要素の名前がわかっているときは「繰り返し要素の名前」に書きます。空欄なら繰り返している要素を自動で探します。
- 表で、列(@属性・子要素・入れ子はピリオドでつないだ名前)と各行の値を確かめます。
- 「CSV をダウンロード」で保存し、表計算ソフトで開きます。整形式の誤りが出たときは、位置を直して貼り直します。
入力例と結果
代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。
| 入力例 | 結果 |
|---|---|
| 属性と子要素を列にした商品一覧 | エラー 0 件・警告 0 件・情報 2 件 |
| 実体参照・CDATA・入れ子の子要素 | エラー 0 件・警告 0 件・情報 1 件 |
| 要素の名前を指定して離れた場所から集める | エラー 0 件・警告 0 件・情報 1 件 |
| 同じ名前の子要素が 1 行に複数ある | エラー 0 件・警告 0 件・情報 2 件 |
| 同じ属性が 2 回書かれた壊れた XML | エラー 1 件・警告 0 件・情報 0 件 |
| 引用符のない属性値 | エラー 1 件・警告 0 件・情報 0 件 |
このツールでできないこと(制約)
- XML Schema(XSD)による検証、XPath の指定、XSLT による変換はしません。繰り返し要素は名前だけで決めます。
- DTD は読みません。DTD の内部で定義した実体は展開せず、&名前; のまま出力します。
- 文字の前後の空白は取り除きます。要素の途中に文字が混ざる文書(HTML のような文章)の細かい構造は再現できません。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
よくある質問
繰り返し要素の名前は必ず書く必要がありますか?
いいえ。空欄にすると、最初に見つかった「同じ名前の子要素が 2 回以上ある親」の子を行にします。複数の種類の繰り返しがある XML や、親が 1 つしかない場合は、行にしたい要素の名前を書いてください。
行によって子要素の数が違うとどうなりますか?
列は全行に出てきた名前の和集合になり、その行にない列は空のセルになります。同じ名前の子要素が 1 つの行に複数あるときは、値を「 | 」でつないで 1 つのセルに入れます。
貼り付けた XML はどこかに送られますか?
送られません。表にする処理はお使いのブラウザの中だけで行い、ページは通信を禁止する設定(CSP の connect-src)で配信しています。共用の端末では、使い終わったらページを閉じてください。