XML 格式化器:線上美化、驗證與除錯 XML
XML(可擴充標記語言)即使在 1998 年 W3C 推薦至今已三十多年,仍然是企業系統、SOAP API、文件格式(DOCX、ODS、SVG)與組態檔的骨幹。但原始 XML 出了名的難以閱讀:一個沒有換行、混合命名空間與 CDATA 區段的深層巢狀文件,是開發者的可讀性噩夢。我們的 XML 格式化器以可設定的縮排(2 或 4 個空格)、語法醒目標示與可折疊的樹狀導覽來美化任何 XML 文件。驗證器檢查格式正確性(正確的標籤匹配、屬性引用、字元跳脫),並可選擇根據 DTD 或 XSD schema 進行驗證。與 JSON 不同,XML 有「格式正確 vs 有效」的正式概念——文件可以是格式正確的(可剖析的 XML 語法)但仍然無效(不符合 schema 約束)。該工具還包含一個 XPath 1.0 評估器,用於在無需編寫程式碼的情況下從大型 XML 文件中查詢元素與屬性,以及一個 SOAP 信封格式化器,可處理企業 API 除錯中常見的 SOAP 特定命名空間與結構。所有處理都在您的瀏覽器中進行——您的 XML 組態檔、API 回應與 schema 文件永遠不會離開您的機器。
XML格式化工具
免費 · 無需註冊
分步指南
貼上或上傳您的 XML
將 XML 直接貼到編輯器中,或上傳 .xml 檔案。格式化器接受任何 XML 變體——SOAP 信封(soapenv:Envelope)、RSS/Atom 摘要、XHTML、SVG 或自訂應用程式 XML。編輯器具備行號,並在您輸入時以紅色醒目標示語法錯誤,錯誤描述顯示在下方面板中。
格式化並可選擇驗證
點擊「格式化」以您選擇的縮排(2 或 4 個空格)美化 XML。右側的樹狀檢視顯示文件結構,包含可展開/折疊的節點——點擊任意節點會將編輯器捲動到該元素。對於驗證,啟用「依據 schema 驗證」並上傳 DTD 或 XSD 檔案;schema 違規會以行級精度回報,並說明 schema 的要求。
使用 XPath 查詢並匯出結果
輸入 XPath 1.0 表達式(例如,/catalog/book[price<30]/title)來查詢文件。匹配的節點會在樹狀檢視中醒目標示,並在結果面板中列出。複製格式化後的 XML,將其下載為 .xml 檔案,或將 XPath 查詢結果匯出為 JSON 以在您的應用程式中進一步處理。
使用技巧與最佳實踐
一個格式正確的 XML 文件必須遵循五項規則:(1)單一根元素包含所有其他元素;(2)每個開標籤都有匹配的閉標籤(或自我封閉,例如 <br/>);(3)標籤必須正確巢狀——<a><b></a></b> 是非法的;(4)屬性值必須被引用(單引號或雙引號皆可);(5)五個預定義實體(&、<、>、'、")必須用於保留字元。
XML 命名空間(xmlns 屬性)在組合來自多個詞彙的 XML 時,可防止元素名稱衝突。例如,單一 XML 文件可能同時包含 XHTML 元素(xmlns="http://www.w3.org/1999/xhtml")與 SVG 元素(xmlns:svg="http://www.w3.org/2000/svg")。命名空間前綴(例如 svg:)是本機別名;元素的實際身分由命名空間 URI 加上本機名稱決定。
CDATA 區段(<![CDATA[ ... ]]>) 讓您可以包含原本需要跳脫的字元(如 <、> 與 &)的文字。它們通常用於在 XML 中嵌入程式碼片段、HTML 片段或 JSON,而無需跳脫每個特殊字元。然而,CDATA 不能包含字串 "]]>"(CDATA 結束標記),且不能巢狀。
XPath 是 XML 的查詢語言——如同 XML 資料的 SQL。常見表達式:/root/element(絕對路徑)、//element(尋找文件中任意位置的所有元素)、/root/element[@attr="value"](按屬性篩選)、/root/element[position()<=3](前三個元素)、/root/element/text()(提取文字內容)。XPath 1.0 幾乎被每個 XML 剖析器支援;XPath 2.0 與 3.0 新增了函式、資料型別與條件表達式,但通用支援較少。
XML 與 JSON 的取捨:XML 具有正式的 schema 語言(XSD)、命名空間、註解、處理指令與混合內容(文字與子元素交錯)——這些功能 JSON 缺乏,或透過臨時慣例處理。JSON 更輕量,直接對應到程式語言的資料結構,且剖析速度更快。對於具有複雜結構與正式驗證需求的文件中心資料(法律文件、財務報告、健康記錄)選擇 XML;對於服務之間的 API 資料交換選擇 JSON。
SOAP(簡易物件存取協定)API 將其酬載包裝在具有標準化元素的 XML 信封中:<soapenv:Envelope>、<soapenv:Header>(可選——驗證、交易、路由)與 <soapenv:Body>(實際的請求/回應資料)。除錯 SOAP 錯誤通常涉及檢查 Body 內的 <soapenv:Fault> 元素。我們的格式化器偵測 SOAP 信封並套用 SOAP 特定格式化,命名空間會被展開。
RSS 2.0 與 Atom 是基於 XML 的網路摘要格式。RSS 需要一個 <rss version="2.0"> 根元素,內含單一 <channel>,包含多個 <item> 元素。Atom 使用一個 <feed> 根元素,內含 <entry> 子元素。兩種格式都廣泛用於 Podcast、部落格聯合與新聞聚合。我們的格式化器驗證摘要特定的必要元素(例如,RSS 中的 <title>、<link>、<description>;Atom 中的 <id>、<title>、<updated>),並醒目標示缺失或格式錯誤的欄位。
處理指令(<? ... ?>)是給 XML 處理器的指令,不屬於文件字元資料的一部分。最常見的是檔案開頭的 XML 宣告:<?xml version="1.0" encoding="UTF-8"?>。其他包括用於連結 CSS 的 <?xml-stylesheet?> 與用於嵌入 PHP 程式碼的 <?php ... ?>。處理指令在格式化期間會被保留。
常見問題解答
XML 驅動著企業世界——從 SOAP API 到文件格式到組態管理。我們的免費格式化器讓 XML 變為可讀、依據 schema 驗證,並讓您使用 XPath 查詢——全部在您的瀏覽器中,全部私密處理。貼上您的 XML,看到它轉變為乾淨、可導覽的結構。
免費試用此工具 →open_in_new