UltKit

XML 轉 CSV 轉換器

把 XML 檔案攤平成可排序、篩選與匯入的表格。每筆重複的紀錄成為一列,紀錄內的每個欄位成為一欄,可直接用於試算表、匯入資料庫或合併列印。

資料轉換器

或將CSV, TSV, TXT … 檔案拖曳到這裡 ·

每個檔案最大 95 MB· 最多 20 個檔案· 30 分鐘後刪除

輸出

檔案會在我們的伺服器上處理,並於 30 分鐘後刪除。

使用方式

  1. 1

    上傳 XML 檔案

    加入商品資料來源、訂單匯出檔、網站地圖,或任何含有重複記錄的 XML。每批最多 20 個檔案,每個檔案上限 95 MB。

  2. 2

    確認分隔符號與編碼

    輸出預設使用逗號與 UTF-8。在進階設定中,可將分隔符號改為分號以配合歐洲版 Excel;如果 Excel 中帶重音符號的名稱出現亂碼,可將文字編碼改為含 BOM 的 UTF-8。

  3. 3

    轉換並開啟

    按下轉換為 CSV並下載。可用試算表開啟檔案,或載入需要 CSV 的工具。

XML 轉 CSV 會取出 XML 檔案中重複的記錄,排成一列一列,每個標籤一欄,讓原本給機器讀的資料來源變成人可以處理的表格。

哪些人需要把 XML 轉成 CSV

XML 自 1998 年 2 月起成為 W3C 建議標準,許多商業資料至今仍以它傳遞:比價網站的商品資料來源、UBL 電子發票、RSS 與 Atom 摘要、XML 網站地圖、ISO 20022 銀行對帳單,以及舊式 CRM 與庫存系統的匯出檔。這種格式很適合需要驗證結構描述的軟體,但對只想看記錄的人來說並不方便。

這些人通常是檢查商品資料來源有無缺漏價格的行銷人員、核對發票明細的會計,或必須把匯出檔載入只接受 CSV 的工具的分析師。轉換後幾秒就能得到表格,不必撰寫 XSLT 樣式表或腳本。如果 XML 來自網頁 API,下一步是寫程式而不是用試算表,JSON 轉 CSV 能以同樣方式處理更常見的 API 格式。

XML 轉 CSV 範例:商品資料饋送

輸入:XML 資料來源中的兩筆記錄
<products>
  <product id="1042">
    <name>檯燈</name>
    <price>39.00</price>
    <sku>00731</sku>
  </product>
  <product id="1043">
    <name>螢幕支架, 黑色</name>
    <price>89.50</price>
    <sku>00732</sku>
  </product>
</products>
輸出:同樣的記錄轉成 CSV
id,name,price,sku
1042,檯燈,39.00,00731
1043,"螢幕支架, 黑色",89.50,00732

XML 轉 CSV 轉換器如何將標籤對應到欄位

  1. 記錄變成列

    根元素底下重複出現的元素(此例為 <product>)決定列。兩個商品,就是兩列資料。

  2. 標籤與屬性變成欄位

    id 屬性以及 name、price、sku 子元素各自成為一欄,名稱寫在標題列。

  3. 只在必要時加引號

    含逗號的名稱會用雙引號包住,讓逗號留在值內,這是 RFC 4180 的規定。

每個 XML 檔案
95 MB
每批檔案數
20
種分隔符號可選
6
後檔案即刪除
30 分鐘

XML 與 CSV 快速比較

XML

Extensible Markup Language

XML 是 W3C 於 1998 年發布的結構化資料標記語言。它使用帶有屬性的巢狀標籤,並支援結構描述、命名空間與驗證,因此適合處理複雜文件。RSS 摘要、SVG、Office 文件、網站地圖,以及許多企業與政府的資料交換,都以它為基礎。XML 比 JSON 冗長,但所有程式語言與許多試算表工具都能讀取。

壓縮方式
–
透明度
–
動畫
–
推出年份
1998 · W3C
XML 轉檔工具

CSV

逗號分隔值

CSV 是一種純文字的表格格式,每一行是一列資料,欄位之間以逗號分隔。它從電腦發展初期沿用至今,並記載於 RFC 4180,不過許多變體會改用分號或定位字元,文字編碼也各不相同。幾乎所有試算表、資料庫和分析工具都能匯入與匯出,因此成為系統之間傳輸資料的預設格式。CSV 只儲存數值,不包含公式、格式、多個工作表或資料類型。

壓縮方式
–
透明度
–
動畫
–
推出年份
–
CSV 轉檔工具

當資料來源或系統匯出檔必須放進試算表、郵件工具,或讀取純資料列而非巢狀標籤的資料庫時,人們就會把 XML 轉成 CSV。

XML 轉 CSV:常見問題

轉換器如何判斷哪些內容算一列?

它會尋找根元素底下重複出現的元素,例如資料來源中的每個 <product>,或網站地圖中的每個 <url>,每出現一次就寫成一列。該記錄的子元素與屬性會成為欄位,第一列則是欄位名稱。

XML 轉成 CSV 時會遺失哪些內容?

凡是不屬於記錄中數值的內容都會捨棄:註解、處理指令、命名空間前置詞,以及巢狀結構本身。CSV 是單一的平面表格,所以多層階層會被攤開到各欄。如果需要保留樹狀結構,請使用 XML 轉 JSON,它會保留巢狀關係。

我的 XML 有好幾種紀錄類型,該怎麼辦?

如果同一個根元素底下混合了客戶與訂單,檔案中其實有兩張表。CSV 一個檔案只能放一張表,所以請先依記錄類型把 XML 拆成多個檔案,或轉成 XLSX,讓每種類型可以分開檢視。

為什麼產品代碼開頭的 0 不見了?

CSV 裡仍然是 00731;是 Excel 開啟時猜測該欄為數字,才把前面的 0 去掉。請透過 Excel 的「資料」索引標籤匯入 CSV,並將該欄設為文字;或用 XML 轉 Excel 直接轉成活頁簿,省去猜測這一步。

可以把 XML Sitemap 轉成網址清單嗎?

可以。網站地圖會重複出現 <url> 元素,因此每個頁面會變成一列,loc、lastmod 以及其他標籤都成為欄位。這樣就得到可排序的清單,適合用於 SEO 稽核或轉址規劃。

產生的 CSV 符合標準嗎?

遵循 2005 年發布的 RFC 4180:每行一筆記錄,欄位以逗號分隔,含有逗號、引號或換行的值會用雙引號包住。如果匯入工具要求每個欄位都加引號,請開啟每個值都加引號。