使用 XML 與 CSV,同時不隱藏資料結構的變更
這個工具可協助您選取重複的 XML 記錄,並將其值與屬性放入 CSV 欄位中,或將 CSV 列包裝在簡單的 XML 列元素內。它適用於資料摘要、舊版匯出、供應商型錄,以及試算表檢閱。請先貼上一小段具代表性的範例,選擇轉換方向,並在處理較大的檔案之前,先將可見的結果與來源進行比對。頁面永遠不會將處理中的資料傳送至 NexaCurrent,因此一般的轉換都會保留在目前的瀏覽器分頁中進行。
試試看一個包含重複 item 元素、id 屬性、name 和 price 的 items 文件。輸出區域會回報列數,並顯示輸出欄位的路徑。在使用結果之前,請確認巢狀值與識別碼出現在預期的欄位中。如果兩種格式描述資料的方式不同,頁面會說明確切的取捨方式,而不是單純地宣告轉換成功。當結果將餵入其他應用程式時,這個檢閱步驟至關重要。
選擇方向與欄位路徑的處理方式
請使用標籤上所標示方向的第一個轉換按鈕,並使用第二個按鈕進行反向轉換。對於巢狀輸入,請保留可保留路徑的選項。像是 /address/city 這類的標頭可用來辨識值的來源,並避免名稱相似的欄位發生衝突。以點號分隔、易讀的 address.city 這類標頭雖然較容易瀏覽,但無法保留足夠資訊以自動重建巢狀結構。
對於表格下載,一般的 UTF-8 在現代編輯器與資料工具中皆可正常使用。「含 BOM 的 UTF-8」選項會在下載的副本中加入一個小標記,給那些可能猜錯字元編碼的試算表程式使用。這個標記不會加入顯示結果中。若要取得乾淨的剪貼簿資料,請複製顯示文字;若需要檔案,請使用具名下載。
使用結果前請先閱讀對應預覽
對應預覽會列出轉換所產生或讀取的欄位。請檢查重要的識別欄、名稱、日期、金額與巢狀值是否齊備。註解、元素順序、混合文字以及 XML 特有的結構規則都無法在 CSV 中完整呈現。因此,警告屬於有用的資訊,而非一般的錯誤訊息。它會告訴你哪些位置的反向轉換可能與原始內容不同,即使輸出在語法上仍然有效。
空白的表格儲存格在轉換回 JSON 或 YAML 時仍會保持為空字串,因為猜測為 null、零、false 或缺失值可能會在無聲中改變其意義。經過表格來回轉換後,數字與布林值同樣會保持為字串。若目的地具有結構定義,請在轉換後套用其型別規則,並驗證幾筆已知的紀錄。在完成這項比對之前,請保留原始來源。
處理 XML 屬性、重複元素與表格欄位
XML 屬性會以可見的 @_ 路徑名稱呈現,重複元素可轉為表格列,而 Unicode 文字則維持 UTF-8。當 CSV 與 TSV 欄位包含分隔符、引號或換行符時,會以引號標示。註解、處理指令、CDATA 邊界、命名空間,以及精確的混合文字順序,都無法完整放進二維表格中。
當存在多個不相關的 XML 集合時,轉換器會選擇最大的重複記錄集合,並告訴你使用了哪個路徑。請將不相關的集合拆分為獨立的轉換作業。在反向轉換時,表格列會使用明確的 rows 與 row 元素;若接收系統需要私有的 XML 結構,請重新命名或進行驗證。
限制、錯誤、隱私與實用的最終檢查
空白的輸入、格式錯誤的 XML、文件類型宣告、無效的 XML 欄位名稱、過深的巢狀、不一致的欄寬、重複的標頭、未閉合的引號欄位,以及過大的資料,都會以明顯的訊息停止處理。本頁面會限制輸入、列數、欄數與總儲存格數,以防止誤貼時凍結分頁。對於極大型的資料集,請改用具備串流能力的桌面端或命令列工作流程。
「重設」會清除本頁的輸入、結果、對應說明、警告與下載內容。在分享轉換後的檔案之前,請於預期的目的地開啟它,計算紀錄數量,檢查幾列含有標點符號或非英文文字的內容,並確認作為識別欄的欄位。轉換成功僅代表符合此處所述的規則,並不代表私有結構、商業規則或第三方匯入工具會接受每一個值。