XML 格式化工具
依正確的巢狀層級縮排 XML,屬性也維持好讀。貼上文件、格式化,再複製或下載,完全不上傳。
貼上 XML
結果
XML 格式化工具在做什麼?
XML 格式化工具會重新縮排一份 XML 文件,讓元素的層級一眼就看得出來:每個巢狀標籤各佔一行、縮排一致,屬性留在所屬元素上,輸出的仍然是同一份文件。
XML 至今仍是很多基礎設施的格式:Maven 的 pom.xml 與 Android 版面、.NET 與 Java 設定檔、SOAP 回應、RSS 與 Atom feed、SVG。這些檔案常常是建置流程或 API 產生的一整行壓縮內容,難以閱讀、審閱或貼進工單,格式化就是把那一行還原成樹狀結構。如果目的是把資料送進前端,請先用 [XML 轉 JSON](/xml-to-json) 工具。
常見的 XML 編輯情境大同小異:接手別人產生的設定檔、找出哪個元素少了結束標籤、上線前審閱差異,或把 SOAP 回應貼進問題回報。這一頁刻意不做驗證——當你需要確認文件格式良好、而不只是可讀,請改用 [XML 驗證工具](/xml-validator)。
如何格式化 XML
- 把 XML 貼到輸入框,或把 .xml 檔拖進來。
- 選擇縮排寬度:兩個空格是常見慣例,巢狀較深的設定檔用四個空格更好讀。
- 按「格式化 XML」。
- 查看結果 —— 巢狀結構變成一行一個元素,屬性留在所屬元素上。
- 檢查必須原樣保留的內容:註釋會被移除、CDATA 會改成轉義文字,數字文字(例如 42.50、007)會正規化成 42.5、7。
- 複製輸出,或下載成 .xml 檔。
XML 格式化範例
壓縮的 SOAP 回應
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><GetPriceResponse><Price currency="EUR">42.50</Price></GetPriceResponse></soap:Body></soap:Envelope>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetPriceResponse>
<Price currency="EUR">42.5</Price>
</GetPriceResponse>
</soap:Body>
</soap:Envelope>Maven pom.xml 片段
<project><modelVersion>4.0.0</modelVersion><groupId>com.example</groupId><artifactId>demo</artifactId></project>
<project> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>demo</artifactId> </project>
含 CDATA 的 RSS 項目
<item><title>Release 2.0</title><description><![CDATA[修正 <b>巢狀</b> 問題]]></description></item>
<item> <title>Release 2.0</title> <description>修正 <b>巢狀</b> 問題</description> </item>
屬性留在原位
<user id="7" role="admin"><name>Ada</name><active>true</active></user>
<user id="7" role="admin"> <name>Ada</name> <active>true</active> </user>
XML 格式化:UrsaKit 與其他選擇
| 比較項目 | UrsaKit | 自己實作 | 一般網上工具 |
|---|---|---|---|
| 準備工作 | 打開網頁 | 安裝並執行 CLI | 打開網頁 |
| 屬性 | 留在所屬元素 | 保留 | 有時會重新排序 |
| 資料是否離開裝置 | 否,在瀏覽器內完成 | 否 | 通常會傳到伺服器 |
| 縮排 | 2 或 4 個空格 | 可設定 | 通常固定 |
| 註釋與 CDATA | 註釋移除、CDATA 轉義 | 原樣保留 | 常被整段去除 |
| 需要註冊 | 否 | 否 | 有時需要 |
| 大型檔案 | 數 MB 很順暢 | 取決於你的機器 | 常有上限 |
常見問題
格式化會保留我的資料嗎?
大致上會。元素名稱、屬性順序與文字內容都保持不變,但解析器會正規化重新輸出的內容:註釋會被移除、CDATA 會寫成轉義文字,數字文字例如 42.50、007、1e3 會變成 42.5、7、1000。若文件必須逐字元還原(有前導零的 ID、郵遞區號、註釋),請保留原始檔,把格式化結果當成閱讀輔助。
CDATA 與註釋會怎樣?
註釋會從輸出中移除;CDATA 區段會改寫成一般的轉義文字,例如 <![CDATA[修正 <b>巢狀</b> 問題]]> 會變成 修正 <b>巢狀</b> 問題。若註釋或 CDATA 必須原樣保留,請留著原始檔。
為什麼格式化會失敗?
只有當內容完全無法解析時才會失敗,例如出現落單的 < 字元。缺少結束標籤或屬性沒加引號通常會被接受並悄悄修補,所以這一頁不是驗證工具——需要確認格式良好時,請改用 XML 驗證工具。
我的 XML 會被上傳嗎?
不會。解析與格式化都在瀏覽器內本機完成。
可以處理大型檔案嗎?
數 MB 的檔案都很順暢;極大的文件則取決於裝置記憶體。
該選哪種縮排?
兩個空格是常見慣例,巢狀很深的設定檔常用四個空格;整份文件一致就好。若項目統一使用 Tab,請改用編輯器格式化。
在 VS Code、IntelliJ 或 Notepad++ 裡怎麼格式化 XML?
VS Code 開啟檔案後按 Shift+Alt+F(Windows / Linux)或 Shift+Option+F(macOS)。IntelliJ IDEA 等 JetBrains IDE 選取檔案後用 Code → Reformat Code(Ctrl+Alt+L,macOS 為 Cmd+Option+L)。Eclipse 是 Ctrl+Shift+F;Notepad++ 需要安裝 XML Tools 插件,會多出 Pretty Print 選單。