入力
準備完了
行数: 0
単語数: 0
文字数: 0
サイズ: 0 KB
入力の統計は、このフィールド上部の統計ボタンから確認できます。
出力
行数: 0
単語数: 0
文字数: 0
サイズ: 0 KB
出力の統計は、このフィールド上部の統計ボタンから確認できます。
結果は情報提供のみを目的としており、誤りを含む場合があります。重要な情報は必ずご自身で確認してください。本ツールのご利用は自己責任でお願いいたします。
このツールでできること
XMLからCSVへの変換ツールは、繰り返し現れるXMLレコードを表計算ソフトの行に展開します。繰り返し要素(たとえば<orders>内の各<order>)を見つけてそれぞれを1行にし、子要素を列にします。
属性も列として残ります。子要素と区別できるように@_という接頭辞が付き、id="1001"という属性は@_id列になります。さらに深い入れ子は連結された列名に展開されるため、値が知らないうちに失われることはありません。
こんなときに使えます
- XMLのエクスポート、サイトマップ、RSSフィード、SOAPの応答からレコードを取り出し、ExcelやGoogleスプレッドシートで並べ替えたり絞り込んだりする場合。
- 2つのXMLエクスポートを比較する場合:両方をCSVに変換し、テキスト差分チェッカーで1行ずつ比べます。
- CSVしか取り込めないデータベースやBIツールにXMLデータを読み込む場合。
- 入れ子のタグをスクロールする代わりに、大きなXML設定の項目を表で並べ替えたり数えたりして監査する場合。
使用例
入力
<orders>
<order id="1001"><customer>Ana</customer><total>42.50</total></order>
<order id="1002"><customer>Ben</customer><total>18.00</total></order>
</orders>
出力
customer,total,@_id
Ana,42.50,1001
Ben,18.00,1002このツールについての質問
列名が@_で始まるのはなぜですか?
その列は子要素ではなくXMLの属性から作られたものです。接頭辞があることで、同じ名前の属性と要素が互いに上書きされるのを防ぎます。必要なら表計算ソフト側で見出しを変更してください。
深く入れ子になった要素はどうなりますか?
入れ子の要素は、パスをアンダースコアでつないだ名前の列になります(例:address_city)。1つのレコードに同じ名前の子要素が複数ある場合は、1つのセルにリストとしてまとめて保持されます。
CSVが1行しかないのはなぜですか?
XMLにレコードが1件しかないか、レコードが同じ親の下の兄弟要素になっていない可能性があります。<orders>の直下に複数の<order>があるように、繰り返し要素が並んでいるか確認してください。