XML 工作流程
XML 格式化:良構、空白與驗證界線
格式化可拋棄的 XML 範例以閱讀結構;若涉及精確位元組、簽章或文字空白,請保留原始文件。
內容更新: · 維護者:Hung Chi-Hsueh · 修正回報
良構只表示語法結構正確
XML 需要單一根元素、正確巢狀且大小寫相符的標籤,以及加引號的屬性。文字中的裸 & 須寫成 &;瀏覽器解析器可找出這類語法錯誤。
XML validator 也可能依 DTD 或 XSD schema 檢查允許的元素、必要欄位與資料型別。本工具只做語法檢查,不檢查業務規則,也不證明資料可信。
空白可能就是內容
在 <p>Hello <b>world</b>!</p> 中加入換行會改變文字節點。CDATA 與 xml:space="preserve" 也不適合自動改動空白;工具遇到任何這類內容時,會保留整份原文。
沒有 schema 時,元素之間的空白也可能影響接收程式。請依實際應用檢查結果;XMLSerializer 可能改變引號、namespace 宣告、空標籤與 XML 宣告,這不等同 XML canonicalization。
以明確命名空間查詢 XPath
XPath 測試器使用瀏覽器原生 XPath 1.0,不支援 XPath 2.0/3.1 或 XSLT。對 <root xmlns="urn:example"><item>value</item></root>,請映射 e=urn:example 並查詢 /e:root/e:item。/root/item 只比對沒有命名空間的元素;XML 預設命名空間不會成為 XPath 預設命名空間。
節點模式顯示跳脫 XML,值模式顯示 XPath 文字值,路徑模式產生不依賴前綴的表達式。文件根節點的字串值是後代文字,不是空的 DOM textContent。可複製路徑可能超出本工具 1,024 字元的表達式限制,更長路徑請在適合環境測試;命名空間軸節點明示不支援。
查詢工具接受 100 KiB、含屬性的 2,000 節點、100 層及最多 4 Mi 字元完整結果。原生查詢同步執行且無法取消,請避免高成本表達式。XML 不會插入目前頁面或用來抓取資源;命中不是 Schema 驗證。
選擇要轉成 CSV 資料列的 XML 記錄
若 feed 底下同時有 meta 和 item,請選 /feed/item。每個 item 成為一筆資料列,meta 及根元素的屬性不會匯出。以 <item id="001"><name>茶</name></item> 為例,會得到 attr.id 與 field.name 兩欄。只出現在後面幾筆的欄位也會納入。缺欄與空值都會匯出為空欄。
請使用無命名空間的 XML 1.0 扁平記錄。選中記錄若包含巢狀、重複或帶屬性的欄位,或有混合內容,須先決定怎麼映射。工具會阻擋疑似公式的值(包含負數),避免直接改寫原值。CSV 的引號規則可處理分隔符與換行,但無法控制試算表的自動轉型。請將識別碼欄以文字匯入,以保留前導零。
轉換器接受最多 100 KiB 的 UTF-8、含屬性的 2,000 個節點、深度 32、500 筆選中記錄、64 欄與 512 KiB 的輸出。預覽最多 20 筆,下載包含所有選中的資料列。
本機處理與限制
輸入以 XML 1.0 在記憶體中解析,結果僅以純文字呈現。不提供文件上傳、URL 抓取或輸入儲存。拒絕 DOCTYPE、ENTITY 與 xml-stylesheet 宣告,包含註解或 CDATA 中相同的字樣。
上限為 512 KiB 輸入、10,000 個節點、100 層與 2 MiB 輸出。各瀏覽器的診斷文字可能不同。DTD、XSD、簽章或大型文件,請使用專案核准且明確限制外部資源的 XML 工具。
<root><item id="demo">Hello & welcome</item></root>
<!-- 保留混合內容: -->
<p>Hello <b>world</b>!</p>資料可信度