ツールへ移動
ViewCSV
ファイルはアップロードされません

CSV を XML に変換

orders.csv· サンプル15 行 · 8 列
値の書き方
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <order_id>001041</order_id>
    <customer>悠真 吉田</customer>
    <city>札幌</city>
    <product>USB-C cable</product>
    <quantity>1</quantity>
    <unit_price>79.89</unit_price>
    <order_date>2026-01-13</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001042</order_id>
    <customer>颯太 中村</customer>
    <city>名古屋</city>
    <product>USB-C cable</product>
    <quantity>5</quantity>
    <unit_price>77.86</unit_price>
    <order_date>2026-02-07</order_date>
    <status>refunded</status>
  </row>
  <row>
    <order_id>001043</order_id>
    <customer>陽翔 中村</customer>
    <city>東京</city>
    <product>Notebook A5</product>
    <quantity>3</quantity>
    <unit_price>172.84</unit_price>
    <order_date>2026-03-14</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001044</order_id>
    <customer>大和 渡辺</customer>
    <city>名古屋</city>
    <product>Notebook A5</product>
    <quantity>9</quantity>
    <unit_price>48.54</unit_price>
    <order_date>2026-04-26</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001045</order_id>
    <customer>陽翔 吉田</customer>
    <city>横浜</city>
    <product>USB-C cable</product>
    <quantity>1</quantity>
    <unit_price/>
    <order_date>2026-05-18</order_date>
    <status>pending</status>
  </row>
  <row>
    <order_id>001046</order_id>
    <customer>葵 山本</customer>
    <city>大阪</city>
    <product>USB-C cable</product>
    <quantity>4</quantity>
    <unit_price>63.78</unit_price>
    <order_date>2026-06-21</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001047</order_id>
    <customer> 蓮 山本 </customer>
    <city>横浜</city>
    <product>Chair, ergonomic</product>
    <quantity>9</quantity>
    <unit_price>211.49</unit_price>
    <order_date>2026-07-27</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001048</order_id>
    <customer>陽翔 吉田</customer>
    <city>札幌</city>
    <product>Coffee beans 1kg</product>
    <quantity>5</quantity>
    <unit_price>122.04</unit_price>
    <order_date>2026-08-04</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001049</order_id>
    <customer>湊 山本</customer>
    <city>福岡</city>
    <product>Chair, ergonomic</product>
    <quantity>4</quantity>
    <unit_price>122.11</unit_price>
    <order_date>2026-09-19</order_date>
    <status>refunded</status>
  </row>
  <row>
    <order_id>001050</order_id>
    <customer>蓮 小林</customer>
    <city>大阪</city>
    <product>Monitor 27"</product>
    <quantity>6</quantity>
    <unit_price>230.79</unit_price>
    <order_date>2026-01-21</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001051</order_id>
    <customer>芽依 加藤</customer>
    <city>神戸</city>
    <product>Desk lamp</product>
    <quantity>8</quantity>
    <unit_price>173.37</unit_price>
    <order_date>2026-02-04</order_date>
    <status>pending</status>
  </row>
  <row>
    <order_id>001052</order_id>
    <customer>陽翔 山田</customer>
    <city>名古屋</city>
    <product>Notebook A5</product>
    <quantity>6</quantity>
    <unit_price>192.93</unit_price>
    <order_date>2026-03-06</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001053</order_id>
    <customer>陽葵 小林</customer>
    <city>京都</city>
    <product>Notebook A5</product>
    <quantity>1</quantity>
    <unit_price>111.89</unit_price>
    <order_date>2026-04-07</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001054</order_id>
    <customer>陽葵 加藤</customer>
    <city>大阪</city>
    <product>Chair, ergonomic</product>
    <quantity>4</quantity>
    <unit_price>169.55</unit_price>
    <order_date>2026-05-17</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001043</order_id>
    <customer>陽翔 中村</customer>
    <city>東京</city>
    <product>Notebook A5</product>
    <quantity>3</quantity>
    <unit_price>172.84</unit_price>
    <order_date>2026-03-14</order_date>
    <status>paid</status>
  </row>
</rows>

15 行 · 1 ファイル

CSV ファイルを開くか貼り付けると、整形式の XML が作成されます。ルート要素の下にレコードごとの行の要素があり、各値は子要素または属性になります。Order ID や 2024 total のように XML の名前として使えない見出しは名前が変更され、変更内容はすべて一覧表示されます。ファイルはブラウザー内で変換され、アップロードされることはありません。

CSV を XML に変換する手順

  1. ファイルを開く を選ぶか、.csv、.tsv、.txt ファイルをツールにドロップするか、貼り付け を選びます。列の分かれ方がおかしい場合は、読み込み設定 で区切り文字と文字コードを確認してください。
  2. 受け取る側のシステムに合わせて、ルート要素 と 行の要素 の名前(既定は rows と row)を指定します。
  3. 値の書き方、空の値の扱い、インデント、XML 宣言を選んでから、コピー または XML をダウンロード を選びます。

ファイルを読み込むシステムが特定のタグ名を前提としている場合は、先に CSV の列名変更・並べ替え で CSV の列名を変更しておくと、自動での名前の変更が不要になります。

XML の構造の設定

子要素既定の設定です(<row><Customer>Smith &amp; Sons</Customer>…</row>)。値の中の改行がそのまま保たれ、ほとんどのインポート ツールに適しています。
属性1 行につき 1 つの空要素タグになります(<row Customer="Smith &amp; Sons" …/>)。サイズが小さく、値の中のタブと改行はパーサーが保持できるよう &#9;、&#10;、&#13; として書き出されます。
空の値は出力しない既定ではオフで、空のセルは <Ship_date/> のような空の要素になります。オンにすると、その行ではその要素または属性が出力されません。
インデントスペース 2 個(既定)、スペース 4 個、なし(最小化) から選びます。「なし(最小化)」では文書全体を 1 行で書き出します。
XML 宣言を付ける既定でオンで、1 行目が <?xml version="1.0" encoding="UTF-8"?> になります。XML を別の文書に埋め込む場合はオフにしてください。

ルート要素と行の要素の名前にも、見出しと同じ名前の規則が適用されます。空や無効な名前の場合は rows または row が使われるか、先頭にアンダースコアが付きます。

列名を XML の名前にする規則

  • 空白は _ になり、文字、数字、.、-、_ 以外の文字も _ になります。たとえば Total (EUR) → Total__EUR_、e-mail:work → e-mail_work です。コロンも置き換えられるため、名前空間の接頭辞は作られません。
  • 数字、.、- で始まる名前には、先頭にアンダースコアが付きます(2024 total → _2024_total)。XML で予約されている xml(大文字・小文字を問わない)で始まる名前も同様です(xml_ref → _xml_ref)。
  • 2 つの見出しが同じ名前になった場合は、2 つ目に _2 が付きます(a b と a_b → a_b、a_b_2)。XML の名前は大文字と小文字を区別するため、Name と name は別の名前のままです。
  • どの言語の文字もそのまま残ります。Größe や 価格 も XML の名前として有効です。空の見出しは、まず Column 7 になり、次に Column_7 になります。
  • 変更した名前はすべて、オプションの下に old → new の形で一覧表示され、プレビューの上の通知にその件数が表示されます。

値の書き出し方

  • 要素のテキストでは &、<、> がエスケープされ、属性ではさらに " もエスケープされます。それ以外は CSV に書かれたとおりに値を書き出すため、00731 の先頭のゼロも残り、型の推測も行いません。
  • XML 1.0 では、ほとんどの制御文字(タブ、改行(LF)、復帰(CR)を除く U+0000~U+001F)、U+FFFE、U+FFFF、対になっていないサロゲートは、エスケープしても使えません。これらは削除され、影響を受けた値の数が表示されます。
  • 引用符で囲まれたコンマ、引用符、改行は RFC 4180 に従って読み込みます。改行は、子要素の中で実際の改行のまま残ります。
  • 出力は常に UTF-8 です。

XML パーサーや取り込み先がファイルを受け付けない場合

  • インポート ツールでフィールドが見つからない。 名前が変更された可能性があります。オプションの下の一覧を確認し、CSV の列名を変更するか、受け取る側のシステムでマッピングを調整してください。
  • パーサーが文字コードのエラーを報告する。 「読み込み設定」で元のファイルの実際の文字コードを指定して開いてください。XML が正しい UTF-8 になるのは、CSV が正しくデコードされた場合だけです。
  • すべての値が 1 つの要素に入ってしまう。 区切り文字の判定が誤っています。「読み込み設定」でコンマ、セミコロン、タブ、パイプのいずれかを指定してください。
  • CDATA、名前空間、スキーマが必要。 このツールが書き出すのは、通常の要素と属性だけです。これらは後の工程で追加してください。

制限とプライバシー

25 MB、10万行、200万セルまでのファイルは、先頭 200 行のリアルタイムのプレビュー付きで開きます。それより大きなファイルはストリーミング方式で変換します。ファイルを分割して 2 回読み込み(1 回目で列を確認し、2 回目で書き出す)、ダウンロードにはファイル全体が含まれることが通知され、コピー は使えません。1 つの出力ファイルは 4 GB までです。

変換はこのタブ内のバックグラウンドのワーカーで実行されるため、ページの操作が止まることはなく、キャンセル で中止できます。CSV がサーバーに送信されることはありません。

例:名前の変更が必要な見出しを含む受注データ

見出しに空白や括弧があり、アンパサンド、山括弧、空の日付を含む受注データを、既定の設定で変換した例です。3 つの見出しの名前が変更され、空の Ship date は <Ship_date/> になります。

CSV
Order ID,Customer,Total (EUR),Ship date
10071,"Smith & Sons",249.00,2025-02-03
10072,"Café <Lumière>",18.50,
XML
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <Order_ID>10071</Order_ID>
    <Customer>Smith &amp; Sons</Customer>
    <Total__EUR_>249.00</Total__EUR_>
    <Ship_date>2025-02-03</Ship_date>
  </row>
  <row>
    <Order_ID>10072</Order_ID>
    <Customer>Café &lt;Lumière&gt;</Customer>
    <Total__EUR_>18.50</Total__EUR_>
    <Ship_date/>
  </row>
</rows>

よくある質問

列名が変更されたのはなぜですか?

XML の要素名には、空白やほとんどの記号を含められず、数字や xml で始めることもできないためです。このツールは、有効で一意な名前になるよう最小限の変更を行い、変更した名前をそれぞれ一覧表示します。

要素と属性のどちらを使えばよいですか?

受け取る側のシステムが属性を求めていない限り、子要素を使ってください。要素では改行が書かれたとおりに保たれます。属性の値は XML パーサーによって空白が正規化されるため、このツールはタブと改行を文字参照として書き出しています。

数値や日付に型は付きますか?

付きません。XML には組み込みの値の型がないため、すべての値は CSV のテキストのまま書き出されます。型は、スキーマやファイルを読み込むプログラムによって決まります。

規格と参考資料