XML 解析器
即時格式化、驗證與查詢 XML 文件。採用瀏覽器原生 API,實現最高速度與隱私保護。
XML 格式不正確
結果
節點樹
如何使用 XML 解析器
貼上您的 XML
將您的 XML 內容複製並貼上到輸入欄位,或點擊「載入範例 XML」。
格式化與驗證
使用「格式化」來美化、「壓縮」來縮小,或「驗證」來檢查錯誤。
使用 XPath 查詢
輸入 XPath 表達式並點擊「執行 XPath」來擷取特定節點。
什麼是 XML?
XML(可延伸標記語言)是一種標記語言,定義了一組規則,用於以人類可讀且機器可讀的格式編碼文件。它廣泛應用於設定檔、資料交換(SOAP、RSS、Atom)與文件儲存。
XML 主要特性
自我描述
XML 使用自訂標籤來描述資料結構,讓您能一目了然地理解內容與層級。
跨平台
作為純文字格式,XML 可在所有平台、程式語言與系統中使用,沒有相容性問題。
可延伸
您可以使用 DTD 或 XML Schema 定義自己的標籤與文件結構,以適應任何資料模型。
常見問題
格式正確的 XML 遵循 XML 的基本語法規則(正確的巢狀結構、關閉標籤、單一根元素)。有效的 XML 不僅格式正確,還符合定義了允許結構與資料類型的 Schema(DTD、XSD)。
不能,本工具僅檢查格式正確性(語法正確性)。瀏覽器原生不支援針對 DTD 或 XSD 的 Schema 驗證。
瀏覽器原生的 document.evaluate() 支援 XPath 1.0。這涵蓋了大多數常見查詢,包括軸、述詞以及 contains()、text()、@attribute 等函式。
命名空間透過 xmlns 屬性將元素名稱對應到 URI,例如 atom:feed 元素宣告 xmlns:atom="http://www.w3.org/2005/Atom"。前綴是任意的,只有 URI 才能識別命名空間,因此兩份文件可以為同一套詞彙使用不同的前綴。這正是當前綴不同時,XPath 比對常需要借助 local-name() 技巧的原因。
XPath 1.0 表達式會走訪樹狀結構:/rss/channel/item 依路徑選取,//item 找出文件中任何位置的 item,item[@type='news'] 依屬性篩選,而 item[1] 或 item[last()] 這類述詞則選取特定節點。XPath 是 XSLT、許多測試框架以及本工具查詢評估器背後的查詢語言。
XXE(XML 外部實體)注入攻擊會利用指向檔案路徑或 URL 的 DTD 實體,誘使伺服器端解析器去讀取它——歷史上曾造成 /etc/passwd 或內部服務外洩。瀏覽器的 XML 解析器不會解析外部實體,而且本工具完全在你的瀏覽器中執行、不需與伺服器往返通訊,因此貼上的 XML 無法觸發檔案讀取或 SSRF。
DOM 會將整份文件載入成一棵可隨機走訪的樹——直觀,但處理大型檔案時非常吃記憶體。SAX 則以單次掃描的方式串流發出事件(開始標籤、文字、結束標籤),記憶體用量固定——速度快,但只能向前讀取。瀏覽器 JavaScript 提供的是 DOMParser(DOM 風格);在 JavaScript 中串流處理 XML 則需要額外的程式庫或 Web Streams。
在一般文字中請將它們逸出為 < 和 &——字元資料中出現原始的 < 和 & 是不合法的。若是一大段含大量標記的文字,可將它包在 CDATA 區段中,在結尾遇到 ]]> 序列之前都無需逸出。內容中嚴格要求逸出的只有 < 和 &;> 僅在構成上述結尾序列時才需要逸出。