CSV 轉 XML 轉換器
貼上 CSV/TSV 資料,即可轉換為將每一行作為一條記錄的 XML(格式為
CSV 轉 XML 是什麼
需要把表格資料以 XML 形式處理的情境至今依然存在:老牌業務系統的匯入規格、報表引擎的輸入,以及部分 API。本工具只要貼上 CSV 或 TSV,就能把每一列轉換成一筆記錄的 XML。輸出採用 <rows><row><欄名>值</欄名>...</row></rows> 這樣直觀的結構,可以直接交給 XSLT 或解析器。
第一列會被讀作標題列,各欄的標題會用作標籤名稱。中文、日文以及帶重音符號的字母也可以用作 XML 標籤名稱,因此像 名稱、Größe 這樣的標題會直接成為標籤。不過,以數字開頭、為空、含有空白或符號、或以 xml 開頭的標題不符合 XML 的命名規則,會自動替換為 column1、column2 這樣的連續編號。 值中包含的 & < > 會跳脫為實體參照。所有處理都在瀏覽器中完成,因此像客戶資料這類不希望外傳的資料也可以放心處理。
把 CSV 轉換成 XML 的步驟
- 貼上 CSV 或 TSV 第一列作為標題,第二列以後作為資料讀取。也支援定位字元分隔。
- 確認標籤名稱 標題會直接成為標籤名稱。中文標題以及帶重音符號的字母也可以直接使用,但含有空白或符號的標題會被替換成編號,請留意這一點。
-
檢視產生的 XML
最頂層是
<rows>,每一列作為<row>排列其中。 - 複製後交給下一步處理 可以直接用於 XSLT 整形,或作為接收 XML 的系統的輸入。
用好本工具的小技巧
- 啟用"將首行作為表頭處理"後,表頭行的列名會直接用作 XML 標籤名(若列名不符合 XML 標籤命名規則,例如以數字開頭或包含符號,則會自動回退為
column1、column2等)。 - 如果不使用表頭,則所有行都會被視為資料行,各列會使用
column1、column2等標籤名。 - 在需要 XML 而非 CSV 的場景中使用本工具,例如傳統的基於 XML 的 API、SOAP 對接,或部分業務系統的資料匯入。
- 生成的 XML 會通過字元實體引用(
&、<、>)安全轉義特殊字元,可直接匯入外部系統。
這些情境會用到
匯入只接受 XML 的系統
可以把用試算表做好的資料,整理成要求 XML 的核心系統能接收的形式。
製作報表引擎的資料來源
許多報表引擎以 XML 作為資料來源,從 CSV 可以很快做出試作品。
準備 XSLT 的練習資料
撰寫轉換樣式表時,可以立刻從手邊的表格準備出範例 XML。
用眼睛確認資料結構
把欄與值的對應關係以 XML 的巢狀形式來看,有時比原本的 CSV 更容易掌握結構。
CSV 轉 XML 的術語
- 標籤名稱的限制
- XML 的標籤名稱必須以字母(包括中文等文字)或底線開頭,不能包含空白與多數符號。從第二個字元起也可以使用數字、連字號與句點。不符合這項限制的標題會自動替換為
column1這樣的名稱。 - 實體參照
- 把
&<>改寫為&<>的處理。必須先轉換&,否則會變成二次跳脫。 - row 元素
- 表示一列資料的元素。本工具以在
<rows>中排列<row>的結構輸出。 - TSV
- 以定位字元分隔的表格資料。從試算表複製貼上時通常就是這種格式。
- 標題列
- 寫在第一列的欄位標題。它是標籤名稱的來源,因此只用字母、數字與底線書寫,轉換後也會更易讀。
常見問題
xml 開頭"(中文、日文、韓文以及帶重音符號的字母都可以使用)。如果表頭名稱違反這些規則,就無法被解析為合法的 XML,因此本工具會自動回退為安全的標籤名,如 column1、column2 等。&、<、> 等 XML 特殊字元轉義為字元實體引用(&、<、>)後再輸出,因此即使單元格內容中包含這些字元,生成結果依然是可正確解析的合法 XML。
閒話 ― XML 為何被稱為"冗長"
XML(可擴充套件標記語言)於 1998 年由 W3C 標準化,在 2000 年代初期的 Web 行業中,作為"系統間資料交換的標準格式"佔據了壓倒性的地位。從 SOAP、XML-RPC 等通訊協議,到 RSS、Atom 的訂閱推送,乃至 Maven 的 pom.xml 等配置檔案,XML 幾乎無處不在。
然而,由於 XML 需要為每個元素明確書寫開始和結束標籤,在表示相同資料時,往往比 2000 年代中期以後普及的 JSON 佔用更多的資料量,因而被評價為"冗長(verbose)"。例如,JSON 中的 {"name":"Alice"} 對應的 XML 寫作 <name>Alice</name>,標籤本身的字元數常常比資料本身還要多。
儘管如此,XML 擁有 JSON 所不具備的成熟規範體系,例如通過 XML Schema 進行嚴格的型別與結構校驗、通過名稱空間避免衝突、通過 XSLT 進行轉換處理等。如今,金融、醫療、政務等對可靠性要求極高的系統對接中依然選擇 XML,這套完善的校驗與轉換生態正是原因之一。