XML入力

CSV出力

XML to CSV コンバーターとは?

表計算ソフトやBIツールは行と列を求めますが、多くの元データはいまだにXMLで届きます――CDRのエクスポート、SIMプロビジョニングのバッチ、ベンダーの製品カタログなどです。ExcelでXMLファイルを開くのは扱いにくく、手早い分析のために使い捨てのパーサーを書くのは大げさです。このコンバーターはXML内の繰り返し要素(たとえば加入者一覧の<subscriber>)を取り、それぞれをCSVの行に、各子要素を列に変換します。貼り付けてCSVをコピーし、Excel、Google スプレッドシート、pandasで開けます。

内部ではブラウザのDOMParser――W3CのXML仕様で説明されるエンジン――でXMLを解析し、最初の繰り返し要素の集合を見つけ、RFC 4180の引用規則に従ったカンマ区切りの値として書き出します。すべてブラウザ内で実行され、XMLが端末から出ることはありません。

XML to CSV コンバーターの使い方

  1. XMLを貼り付ける – 整形式のXMLドキュメントを左パネルに入れます。類似した要素のリストを含むべきで、その繰り返し要素が行になります。
  2. 変換を見る – 入力するそばからCSVが右パネルに現れます。変換ボタンはなく、短いデバウンスで軽快に動きます。
  3. 列を確認 – コンバーターは全行にわたって子要素名を統合するため、一部のレコードにフィールドが欠けていても、ヘッダーには見つかったすべての列が並びます。
  4. エスケープに注意 – カンマ・引用符・改行を含む値は二重引用符で囲まれ、内部の引用符は二重化されます(RFC 4180準拠)――そのためCSVはどの表計算ソフトでもきれいに開けます。
  5. コピーまたはダウンロード – CopyでCSVテキストを取得するか、DownloadでExcel、スプレッドシート、データパイプライン向けの.csvファイルとして保存します。

ヒント: コンバーターは行に使う最初の繰り返し要素の集合を探します。XMLがリストを数階層深く包んでいても(例:<response><data><subscriber>...</subscriber></data></response>)、<subscriber>のリストを見つけます。無関係なリストが複数ある場合は、エクスポートしたいものだけを入力に残してください。

加入者一覧です。繰り返される各<subscriber>要素がCSVの行になり、その子要素(subscriberIdmsisdnplandataUsage)が列になります。

XML → CSV 変換
subscribers.xmlXML
<subscribers>
  <subscriber>
    <subscriberId>SUB-1001</subscriberId>
    <msisdn>447700900142</msisdn>
    <plan>Unlimited 5G</plan>
    <dataUsage>45.2</dataUsage>
  </subscriber>
  <subscriber>
    <subscriberId>SUB-1002</subscriberId>
    <msisdn>447700900458</msisdn>
    <plan>Business 200GB</plan>
    <dataUsage>120.5</dataUsage>
  </subscriber>
</subscribers>
subscribers.csvCSV
subscriberId,msisdn,plan,dataUsage
SUB-1001,447700900142,Unlimited 5G,45.2
SUB-1002,447700900458,Business 200GB,120.5

よくある利用シーン

通信のエクスポートを表計算ソフトに読み込む

CDR、SIMプロビジョニングのバッチ、HSSのルックアップは、しばしばXMLで届きます。ExcelやGoogle スプレッドシートで作業するアナリストは生のXMLではなく、ピボットやグラフ化ができるグリッドを求めます。先にCSVへ変換すれば、スクリプトなしで数秒のうちに使い慣れたツールにデータが入ります。

pandasやRにXMLを取り込む

データサイエンティストは通常、pandas.read_csvやRのread.csvで分析を始めます。ソースがXMLの場合、CSVへの手早い変換が最も抵抗の少ない道です――使い捨ての探索のためにコードでXMLツリーを扱うよりずっと簡単です。

カタログや在庫データの移行

ベンダーの製品フィードや在庫ダンプは、しばしば1アイテム1要素のXMLで届きます。CSVアップロードを受け付けるデータベースやEコマースプラットフォームに一括取り込みするには、まずここで変換しましょう。先にソース構造を調整する必要があれば、W3SchoolsのXMLチュートリアルが役立つおさらいになります。

主な機能

  • リアルタイム変換 – 入力するそばからCSVが更新されます。クリックするボタンはありません。
  • 自動的な行検出 – 最初の繰り返し要素の集合を見つけ、それぞれを行に変換します。1~2階層ネストしていても対応します。
  • 列の統合 – ヘッダーは全行で見つかったすべての子要素名を網羅するため、フィールドが欠けたレコードも揃います。
  • RFC 4180のエスケープ – カンマ・引用符・改行を含む値を正しくエスケープし、表計算ソフトできれいに解析されます。
  • プライバシー最優先 – 解析はすべてDOMParserでブラウザ内で実行され、何もアップロードされません。

よくある質問

どのXML要素が行になりますか?

コンバーターは最初の繰り返し兄弟要素の集合を探し、各出現を行として使います。<subscribers><subscriber>...</subscriber>...</subscribers>のようなドキュメントでは、繰り返される<subscriber>要素が行になり、その子が列になります。

レコードごとにフィールドが違う場合は?

ヘッダーは全行にわたる子要素名の和集合から構築されます。あるレコードに他にはある列が欠けていても、行をずらすのではなくそのセルを空白にします。これによりCSVは矩形を保ち、どの表計算ソフトでも安全に開けます。

XML属性はどう扱われますか?

属性は内部的に@attributesキーの下にまとめられ、列の構築時にスキップされます――そのためCSVの列は属性ではなく子要素から作られます。属性を列にしたい場合は、先にXMLでそれを子要素に昇格させてください。

値の中のカンマや引用符はどうエスケープされますか?

RFC 4180に従い、カンマ・二重引用符・改行を含む値は二重引用符で囲まれ、内部の二重引用符は二重化されます("""になります)。これはExcelとほとんどのCSVリーダーが期待する規約です。

データは安全ですか?

はい。変換はブラウザのDOMParserを使い、すべてクライアントサイドで実行されます。入力XMLも出力CSVも、ネットワークに送信されたり、キャッシュされたり、ログに記録されたりすることはありません。

関連ツール

  • XML to JSON – 同じXMLを表計算ではなくコード向けにJSONへ変換します。
  • JSON to CSV – すでにJSONがある場合は、そのままCSVへ展開します。
  • JSON to XML – 逆方向に――JSONからXMLを構築します。
  • JSON to Table – エクスポート前に構造化データを対話的な表としてプレビューします。

役立つリソース

  • RFC 4180 – CSVファイルの共通フォーマットとMIMEタイプ――このツールが従う引用規則。
  • W3C XML – XML仕様と関連標準の公式拠点。
  • MDN DOMParser – 解析ステップを支えるブラウザAPIのドキュメント。
  • pandas read_csv – 得られたCSVをそのままDataFrameに読み込んで分析できます。
  • W3Schools XML Tutorial – XPathやXSDの基礎を含む、ステップバイステップのXML入門。
  • Stack Overflow XML – XMLの解析や平坦化のエッジケースに関するコミュニティの回答。