DevToolPal
繁

XML 轉 CSV

把 XML 中重複的記錄轉換成 CSV 列,屬性和巢狀元素都會變成欄位。

本機處理,不會上傳

選項

輸入

0 字元 · 0 B

輸出

0 字元 · 0 B

功能介紹

這個工具可以把 XML 資料轉換成 CSV。它會找出文件中重複的記錄,例如 <users> 裡的每一個 <user>,並為每筆記錄寫出一列 CSV。子元素和屬性會變成欄位,巢狀元素會攤平成以點號連接的欄位名稱,而且每一列都有相同的欄位。

使用方式

  1. 把 XML 貼到 輸入 框、上傳 .xml 檔案,或按 範例。
  2. CSV 會隨著輸入即時顯示在右側。格式錯誤的 XML 會回報行號和欄號。
  3. 選擇輸出的 分隔符號,以及是否 包含標題列。
  4. 複製 CSV,或下載成 .csv 檔案。

範例

<users>
  <user id="1"><name>Alice</name><address><city>Shanghai</city></address></user>
  <user id="2"><name>Bob</name><address><city>Beijing, China</city></address></user>
</users>

會變成

name,address.city,id
Alice,Shanghai,1
Bob,"Beijing, China",2

注意事項

含有分隔符號、引號或換行的儲存格,會依照 RFC 4180 加上引號。值會以文字形式保留,和 XML 中的內容完全相同,所以開頭的 0 不會遺失。

常見問題

› 哪些元素會變成資料列?

根元素底下重複的子元素,例如 <users> 裡的每一個 <user>。如果根元素只有一個子元素,那個元素就是唯一的一列。

› 屬性和巢狀元素會怎麼處理?

屬性會變成以屬性名稱命名的欄位(id="1" → id)。巢狀元素會變成以點號連接的欄位,例如 address.city。重複的簡單值會以 "; " 串接。

› 為什麼欄位名稱是 @id 而不是 id?

當屬性和子元素同名時,屬性會保留 @ 前綴,讓兩個欄位分開。

› 可以用 Excel 開啟結果嗎?

可以。下載 .csv 檔案後開啟即可;如果你的 Excel 以逗號作為小數點,請選擇分號作為分隔符號。