只需四步即可將 XML 轉換為 CSV
- 新增 XML 資料。 貼上文件或上傳支援的
.xml檔案。 - 選擇記錄節點。 選擇應該成為 CSV 列的重複元素。
- 選擇欄位規則。 扁平化嵌套的子元素,包含屬性並設定 CSV 分隔符。
- 預覽並匯出。 在複製或下載 CSV 之前檢查行和列。
選擇重複的記錄節點
在工具知道什麼是一筆記錄之前,XML 到 CSV 的轉換是不可靠的。因此,記錄選擇器是一個主要的控制項,而不是一個事後的高級設定。
考慮以下 XML:
<orders>
<order id="1001">
<customer>Ada</customer>
<total>25.00</total>
</order>
<order id="1002">
<customer>Lin</customer>
<total>40.00</total>
</order>
</orders>
重複路徑 /orders/order 將轉換為兩行 CSV。
- 掃描重複的同級元素
- 建議可能的記錄路徑及其計數
- 允許您選擇不同的節點
- 在轉換前預覽候選記錄
扁平化嵌套的子元素
嵌套元素可以轉換為基於路徑的列。
<customer>
<name>Ada</name>
<address>
<city>London</city>
</address>
</customer>
建議的列:
customer.name
customer.address.city
選項面板包括扁平化嵌套元素、路徑分隔符、最大深度、超出最大深度的行為以及如何保留嵌套片段。
包含 XML 屬性
屬性通常包含應該轉換為列的 ID、類型或元資料。
<order id="1001" status="paid">
推薦的列:
@id
@status
- 包含所有屬性
- 排除屬性
- 選擇屬性前綴
- 保留或去除命名空間前綴
處理重複的子節點值
記錄可能包含重複的子陣列:
<order>
<tag>priority</tag>
<tag>international</tag>
</order>
- 連接值,使用選定的分隔符。
- 保留 XML 片段在單個加引號的儲存格中。
命名空間
XML 命名空間前綴可以區分具有相同本地名稱的元素。
預設情況下,前綴會從列名中去除。如果兩個不同命名空間的元素產生相同的本地名稱,則會顯示衝突警告,並在受影響的列中保留前綴。
您可以選擇在每個列名中保留前綴。預覽始終在下載前顯示最終的列名。
CSV 輸出規則
在選擇並扁平化 XML 記錄之後,將套用常規的 CSV 輸出控制:分隔符、包含標題、最小或全部欄位引號、行尾、空值和缺失值行為以及 UTF-8 輸出。
包含分隔符、雙引號或換行符的值會被正確轉義。
預覽對映
在匯出之前,預覽將顯示選定的記錄路徑、找到的記錄數、生成的列、某些記錄中缺失欄位的警告、重複子節點警告、命名空間衝突和表格預覽。
常見 XML 轉 CSV 問題
轉換器僅建立了一行
選擇的是根元素而不是重複的記錄節點。 選擇每個記錄中出現一次的子路徑。
屬性缺失
啟用屬性列。 預覽顯示所選前綴和任何名稱衝突。
嵌套的值消失了
增加扁平化深度或保留嵌套片段。 當資料超出配置的深度時,工具會發出警告。
一個儲存格中出現多個子節點值
記錄包含重複的子列表。 選擇連接或保留行為。
列名重複
命名空間前綴或屬性標記可能已被移除。 使用使每個來源路徑保持唯一的命名策略。
XML 轉 CSV 常見問題
轉換器如何決定哪個 XML 元素成為行?
它建議重複的節點路徑,並允許您選擇一個。 對於包含多個重複組的文件,僅靠自動选择是不可靠的。
XML 屬性可以成為 CSV 列嗎?
可以。 啟用屬性並選擇一個可見的前綴,例如 @。
它支援嵌套的 XML 嗎?
支援,在實現的扁平化深度和後備規則範圍內。 深層或不規則的子樹可以保持序列化 XML 文字的形式。
重複的子元素會發生什麼?
它們可以根據所選選項進行連接或保留。 该工具絕不會在沒有警告的情况下默默丟棄額外的值。
XML 命名空間會保留嗎?
在需要防止名稱衝突時會保留它們。 最終的列命名規則在預覽中可見。
XML 會被上傳嗎?
不會 — 貼上的 XML 完全在您的瀏覽器中解析。 超過瀏覽器處理限制的檔案將作為選型的伺服器後備方案提供,未經您的同意不會上傳任何內容。