跳到主要內容

XML 轉 JSON、CSV 或 Excel

將 XML 轉成 JSON、CSV 或 Excel,也能把 JSON、CSV 或 Excel 轉回 XML,還可自訂屬性、陣列和重複元素的處理方式;所有轉換都在瀏覽器中完成。

轉換為
拖放 XML 檔案XML 上限 100 MB・JSON、CSV、XLSX、XLS、ODS 上限 500 MB
選擇檔案在你的裝置上處理,不會上傳
在瀏覽器中執行・不需上傳運作方式

XML 轉換器 使用方法

  1. 1

    加入檔案或貼上內容

    拖放 XML、JSON、CSV 或 Excel 檔案,或直接貼上文字。工具會依內容自動判斷輸入的類型。

  2. 2

    選擇目標格式

    XML 可轉成 JSON、CSV 或 Excel;JSON、CSV 和 Excel 工作表則可轉成 XML。不適用於你輸入內容的格式會顯示為灰色。

  3. 3

    調整對應方式

    決定屬性、重複元素和命名空間如何處理,哪個元素代表一列,或是根元素和列元素的名稱。

  4. 4

    複製或下載

    變更選項時,結果會即時更新;你可以複製文字,或下載 .json、.xml、.csv、.xlsx 檔案。

限制與 Pro

XML 檔案上限 100 MB;JSON、CSV 和 Excel 檔案上限 500 MB。

JSON、CSV 和 Excel 檔案上限 4 GB;因為整份文件都會放在記憶體中,所有方案的 XML 上限都維持 100 MB。 查看 Pro

關於 XML 轉換器

XML 轉換器可以在 XML 與多數軟體常用的格式之間轉換資料。一個方向是讀取 XML 文件,例如供應商報價單、銀行或報稅匯出檔、RSS 摘要、GPX 軌跡、SOAP 回應,再輸出成 JSON、CSV 檔案或 Excel 工作表;另一個方向是把 JSON、CSV 檔案或試算表轉成 XML,提供只能匯入 XML 的系統使用。

XML 轉成 JSON 沒有唯一的對應方式,所以由你決定:屬性可以用「@id」這類鍵、以一般鍵呈現,或直接省略;元素同時有屬性或子元素時,文字放在「#text」下;重複元素轉成陣列,或讓每個子元素都用陣列以維持固定結構;數字和 true/false 可轉為對應型別或保留為字串;dc: 這類命名空間前綴可保留或移除。

轉成表格時,選擇會重複出現的元素,例如 catalog › book、rss › channel › item,每個元素就成為一列。屬性和巢狀元素會變成欄,名稱用 price.currency 這種點號格式;重複的子元素可合併在同一個儲存格,或分散到編號欄位。

產生 XML 時,鍵和欄位標題會成為元素名稱(「Unit price」這類無效名稱會寫成 Unit_price),陣列會重複該元素,輸出可縮排或單行,也可選擇是否加入 XML 宣告。

解析器採嚴格模式:格式不正確的檔案,會指出第一個錯誤的行與列。註解和處理指令不會帶入輸出,DTD 和外部實體絕不會載入,與行內標籤混合的文字會合併成一個值。

隱私

XML、JSON 和試算表都由這個分頁中的 Web Worker 解析並轉換;不會上傳任何內容,也不會擷取外部 DTD 或實體,貼上的文字更不會被儲存。

功能

XML ↔ JSON

屬性用 @ 鍵、重複項用陣列,型別與命名空間由你決定。

XML ↔ CSV 與 Excel

選擇重複的元素,巢狀標籤會變成欄位。

輸出有效的 XML

自動修正名稱、跳脫特殊字元,可縮排或精簡輸出。

清楚的錯誤訊息

指出第一個格式錯誤的行與列。

XML 轉換器:常見問題

XML 屬性如何轉換成 JSON?
預設每個屬性都會變成前面加 @ 的鍵,所以 <book id="7"> 會得到 "@id": 7,元素本身的文字則放在 "#text" 下。你也可以去掉 @ 改用一般鍵,或完全省略屬性。把這份 JSON 在此轉回 XML 時,@ 鍵會還原成屬性,兩個方向可以互相轉換。
為什麼同一個值在某筆資料是陣列,在另一筆卻是物件?
同一個父元素下出現多次的元素會轉成陣列,只出現一次則是單一值,多數轉換器都是這樣處理。如果你的程式每次都需要相同的結構,可以開啟「一律使用陣列」:這樣每個子元素都會以陣列呈現,即使只出現一次也一樣。
XML 的哪個元素會成為 CSV 或 Excel 的一列?
工具會自動選擇從文件開頭算起第一個重複出現的元素,例如目錄中的 book、RSS 摘要中的 item、訂單匯出檔中的 order。清單會列出所有重複元素及其出現次數,你也可以改選更深層的元素,例如每筆訂單內的訂單明細。
可以把 CSV 或 Excel 工作表轉成 XML 嗎?
可以。拖放 CSV 或活頁簿後選擇 XML。每一列會成為根元素(預設為 rows)內的一個元素(預設為 row,可自行改名),每一欄則成為以標題命名的子元素,也可改為屬性。標題含空格或以數字開頭時會自動調整,確保 XML 有效。
XML 有錯誤時會怎麼樣?
轉換會停止,並顯示問題與位置,例如第 12 行的結束標籤與第 9 行的開始標籤不相符、未跳脫的 & 或缺少引號。解析器會依 XML 1.0 規則檢查標籤、屬性、引號和實體,讓錯誤在這裡就被發現,而不是等到匯入系統時才出問題。

此工具的其他用途