免費轉換器

XML 格式化 與驗證工具

在瀏覽器中即時格式化、美化和驗證XML。無需上傳 — 完全私密且免費。

將XML檔案拖放至此

支援.xml檔案。或在上方區域貼上您的XML。

關於此工具

XML 格式縮排巢狀元素,使文件層次結構變得可見。緊湊的 XML——所有內容都在一條線上——在技術上是有效的並且對於傳輸有用,但對於人類來說是不可讀的。格式化 XML 在元素之間新增換行符,並在父元素內縮進子元素,使其可手動掃描、區分和編輯。

此格式化程式使用 DOMParser 解析輸入以確認格式良好,然後遍歷產生的 DOM 以發出縮排輸出。註記、處理指示和 CDATA 部分均保留。自閉合標籤(沒有子標籤的標籤)保持緊湊在一行上;帶有子項的標籤分佈在多行中,並且子項縮排。

兩個空格縮排是預設值,符合最常見的 XML 約定。格式化程序在重新格式化方面是保守的:保留現有結構,僅元素之間的空白發生變化。在格式化之前和之後,資料會透過任何 XML 解析器進行相同的往返。

為什麼要格式化 XML

緊湊的 XML 不可讀。 SOAP 回應、RSS 提要和許多設定檔以單行 XML 形式到達,該 XML 在技術上是有效的,但實際上是不透明的。格式化揭示了文件結構,讓您可以定位特定元素,並使版本控制中的差異變得有意義。

格式化也可以作為有效性檢查。如果 XML 在格式化過程中無法解析,錯誤訊息會指出問題 — 通常是未閉合的標籤、不符合的元素名稱或無效字元。在傳送給嚴格的使用者之前捕獲 XML 錯誤可以節省偵錯時間。

使用方法

貼上 XML,按一下格式。

  1. 新增 XML 輸入: 貼上 XML 文字或刪除 .xml 檔案。格式化程式接受任何格式良好的 XML — 文件、片段、RSS 提要、SOAP 信封。
  2. 選擇縮排: 預設為 2 個空格。如果您的團隊慣例偏好使用 4 個空格或製表符。
  3. 格式: DOMParser 建立一個 DOM,格式化程式遍歷它,並發出縮排的 XML。註、CDATA 和處理指令均準確保留。保留文字節點內的空白(無法安全地新增或刪除重要的空白)。
  4. 複製或下載: 將格式化的 XML 複製到剪貼簿或另存為 .xml。輸出格式良好,解析方式與輸入相同。

常見用例

技術細節

DOMParser 產生 XML DOM。格式化程式以深度優先的方式遍歷樹,發出開始標籤、縮排的子標籤和結束標籤。元素屬性保留在開始標籤上;屬性順序與來源相符。

文字節點內的重要空白被保留 - 格式化程式無法安全地更改內容空白,因為它可能是有意義的(XML 空間保留規則因模式而異)。僅元素之間的空格發生變化。

自閉合元素(無子元素)發出為 <tag attr="val"/>。僅包含文字內容的元素以 <tag>text</tag> 形式發出。具有子元素的元素會在具有縮排子元素的多行上發出。 CDATA 部分、註解和處理指令與其原始分隔符號和內容一起發出。

最佳實踐

常見問題

這會偵測到哪些 XML 錯誤?
此工具可偵測未閉合的標籤、不符合的開始/結束標籤、無效的字元參考、遺失的根元素、格式錯誤的屬性和編碼問題。錯誤訊息包含行號,可協助您定位問題。
格式化會改變 XML 內容嗎?
格式設定僅調整元素之間的空白和縮排。元素內容、屬性、CDATA 部分和處理指令均按輸入的原樣保留。
它可以處理大型 XML 檔案嗎?
此工具可在瀏覽器中處理高達數兆位元組的檔案。對於非常大的 XML 文件 (50MB+),請考慮使用 xmllint 等命令列工具以獲得更好的效能。
它支援 XML 命名空間嗎?
是的。格式化程式可以正確處理命名空間聲明 (xmlns)、前綴元素和預設命名空間。命名空間保留在格式化輸出中。
命名空間是否被保留?
是的。 xmlns 和 xmlns:prefix 屬性保留在來源中出現的元素上。
我可以將 XML 縮小為一行嗎?
一些 XML 格式化程式提供縮小功能。該工具專注於格式化;可以透過使用正規表示式或專用工具去除元素之間的空格來產生縮小的 XML。
我的 XML 是否上傳到伺服器?
不會。 DOMParser 在您的瀏覽器中運行;格式化程式在您的瀏覽器中運行。
文字節點內的空白會改變嗎?
不會。文字節點空白會被保留,因為 XML 空間保留規則會因模式而異。格式化程式僅更改元素間的空白。