SOAP / API 除錯
把網路 log 裡的原始 SOAP 回應貼上、格式化,實際的 fault 就會在 envelope 內清楚顯現。錯誤行 + 列讓你幾秒就能跳到拼錯的命名空間前綴、或文字裡未 escape 的 &。
美化、壓縮、驗證任意 XML — REST 回應、SOAP envelope、RSS feed、sitemap、Maven、AndroidManifest 全部支援。語法高亮輸出、行 + 列錯誤回報。完全在瀏覽器內運算。
Well-formedness(格式正確) 是基本的結構規則:標籤要正確嵌套並關閉、屬性要加引號、必須有單一 root 元素、特殊字元要 escape(<、& 等)。本工具用瀏覽器原生 DOMParser 檢查 well-formedness。
Validity(有效性) 是更嚴格的、對 schema(DTD、XSD、RelaxNG)的檢查 — 「文件符合這套文法」。瀏覽器 DOMParser 不做 schema 驗證;XSD 驗證需要伺服器端工具如 xmllint --schema。
會。CDATA 區段(<![CDATA[…]]>)裡的內容會原樣保留 — 特殊字元不會被重新 escape。註解(<!-- … -->)和 processing instruction(<?xml-stylesheet … ?>)會放回原本的位置。XML declaration 與 doctype 行會保留為前幾行。
SOAP envelope、RSS feed、sitemap、Maven `pom.xml`、AndroidManifest — 格式化、壓縮、驗證都正確處理。
可選 2 空格、4 空格、或 Tab 縮排。Self-closing 標籤保持自封閉。CDATA 區段、註解、processing instruction、XML declaration 在 round-trip 後完全保留。
去除元素之間沒意義的空白,把整份文件壓成單行。適合把 XML 嵌進 JSON 字串欄位,或在窄網路上傳輸。
用瀏覽器原生 DOMParser 檢查格式正確性。錯誤時會顯示出錯的行 + 列,可直接跳到問題位置。
標籤名、屬性、屬性值、文字內容、註解、CDATA、processing instruction 全部以顏色區分,結構一眼看清楚。
所有資料都留在瀏覽器內。解析、格式化、驗證、下載都以 JavaScript 在你的機器上執行。打開 DevTools → Network 可驗證沒有任何對外請求。
純 JavaScript,無框架運行時。冷啟動 gzip 後不到 25 KB。格式化 200 KB 的 XML 文件並重新渲染語法高亮,80 毫秒內完成。
從雜亂 XML 到乾淨可驗證的輸出,四個步驟。
拖曳或貼上任何 XML — REST API 回應、SOAP envelope、RSS / Atom feed、sitemap、設定檔。輸入時會自動格式化(debounce 350 毫秒)。
2 空格是現代預設(符合 Prettier 與多數風格指南)。4 空格是較舊的慣例(Java.NET)。Tab 對應你編輯器的 tab 寬度 — 適合之後手動編輯的文件。
驗證 會回報 well-formedness 錯誤與行 + 列。壓縮 把整份文件收成單行 — 適合把 XML 嵌進 JSON 字串、資料庫欄位、或 shell 變數。
點複製圖示把整理過的 XML 送進剪貼簿,或下載為 formatted.xml。輸出保留 CDATA、註解、processing instruction、XML declaration。
四種常見 XML 工作場景 — 在這些情況下,瀏覽器內格式化器比開 IDE 快多了。
把網路 log 裡的原始 SOAP 回應貼上、格式化,實際的 fault 就會在 envelope 內清楚顯現。錯誤行 + 列讓你幾秒就能跳到拼錯的命名空間前綴、或文字裡未 escape 的 &。
貼上你手寫的 `sitemap.xml` 或 RSS feed,在送 Search Console / 聚合器之前驗證 well-formedness。可壓成單行嵌進自動化腳本。
Maven pom.xml、Spring beans、NHibernate mappings、Android AndroidManifest.xml — 手動編輯後重新格式化都很方便。Commit 前先驗證,可以提早抓出 build 才會抱怨的拼錯。
.docx、.xlsx、.pptx、.epub 都是內含 XML 的 ZIP。把內部 XML 解壓出來、貼到這裡格式化,結構清楚之後再壓回 ZIP。
XML 內容永遠不會離開你的裝置。打開 DevTools → Network,格式化、驗證、複製、下載過程中沒有任何對外請求。
DOMParser;格式化與壓縮只是簡單的 JavaScript 走訪所產生的 DOM tree。
為 XML、SOAP 除錯、設定檔工作流程精選的實用文章。
Where XML still beats JSON (SOAP, RSS, Office docs, EPUB, sitemaps, configs) and where JSON wins. Worked examples and migration patterns.
Reading XML namespace prefixes, finding the actual fault inside a SOAP envelope, and using a browser-based formatter to spot the issue without firing up SoapUI.
Well-formedness(格式正確) 是基本的結構規則:標籤要正確嵌套並關閉、屬性要加引號、必須有單一 root 元素、特殊字元要 escape(<、& 等)。本工具用瀏覽器原生 DOMParser 檢查 well-formedness。
Validity(有效性) 是更嚴格的、對 schema(DTD、XSD、RelaxNG)的檢查 — 「文件符合這套文法」。瀏覽器 DOMParser 不做 schema 驗證;XSD 驗證需要伺服器端工具如 xmllint --schema。
會。CDATA 區段(<![CDATA[…]]>)裡的內容會原樣保留 — 特殊字元不會被重新 escape。註解(<!-- … -->)和 processing instruction(<?xml-stylesheet … ?>)會放回原本的位置。XML declaration 與 doctype 行會保留為前幾行。
可以,只要是 well-formed XML 都能用 — SOAP envelope(含 soap:Envelope、soap:Body 命名空間前綴)、RSS / Atom feed、sitemap、SVG、plist、Maven pom.xml、Spring 設定、EPUB container.xml、Android AndroidManifest.xml。Namespace 前綴會被保留 — 我們不會去除 xmlns: 屬性。
最常見的原因:(1)文字或屬性值內未 escape 的 & — 必須是 &;(2)兩個 root 元素(XML 只允許一個);(3)開合標籤大小寫不一致(例如 <Item>…</item> — XML 區分大小寫);(4)屬性值沒加引號;(5)文字內容裡有未配對的 <。錯誤訊息中的行 + 列會指到出錯的位置。
不會。解析、格式化、壓縮、驗證、語法高亮、下載都在你的瀏覽器內以 JavaScript 執行。打開 DevTools → Network 可驗證使用過程中沒有任何對外請求。我們只用一個 cookie 記錄 cookie 同意狀態,以及一個 cookie 記錄語言偏好。