XML 格式化
格式化、驗證和美化 XML 資料
關於 XML 格式化
XML Formatter 把你的 XML 重新序列化成一致縮排的格式,讓深層巢狀的元素和屬性一眼就能讀懂。它會找出 well-formedness 錯誤——未閉合的標籤、大小寫不匹配、缺少根元素——這些問題會讓任何符合規範的 parser 直接拒絕解析。適合用於閱讀 SOAP envelope、檢視 RSS/Atom feed、編輯 Android 資源 XML,以及在 SAML assertion 送到 IdP 之前先除錯。
常見使用情境
常見問題
XML 和 HTML 有什麼不同?
XML 區分大小寫(<Item> 和 <item> 是不同元素),每個元素都必須明確閉合或自閉合(<br/> 而非 <br>),也沒有隱含元素——parser 不會自動補標籤。HTML 有容錯的解析規則以應付現實中的標記錯誤,XML 完全沒有這種容忍。
CDATA 區段是什麼用途?
CDATA 區段(<![CDATA[ ... ]]>)包裹不想被 escape 的內容,例如一段 JavaScript 或 SQL。Parser 把裡面的所有內容視為純字元資料,忽略 < 和 & 等 markup 字元。當你需要在 XML 元素裡放入大量特殊字元時,用 CDATA 比逐一 escape 方便得多。
XML namespace 是什麼?
Namespace(xmlns:prefix="uri")用來避免合併不同 XML 詞彙時的元素名稱衝突——例如 SOAP 用 soap:Envelope,payload 裡也有自己的 envelope 元素。那個 URI 只是唯一識別符,不需要指向真實文件。
為什麼 XML 比 JSON 肥?
XML 的開始標籤和結束標籤都要寫元素名稱,屬性要加引號,namespace 到處都有 URI 前綴。JSON 表達同樣資料的冗餘少很多。XML 的冗長換來了一些優勢——混合內容(文字與 markup 交錯)、註解、處理指令、XSD schema——但純粹交換資料時 JSON 幾乎都更小、解析更快。