XPath 測試工具
使用 XPath 1.0 對離線的 XML 進行評估,並檢查節點、字串、數值或布林結果,不插入匹配的標記內容。
隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。
使用方式
- 1.貼上一個正確格式的 XML 測試案例,必要時包含明確的名稱空間字首宣告。
- 2.輸入一個 XPath 1.0 表示式,並在瀏覽器的分離 XML 文件中進行評估。
- 3.檢視結果型別與精確的序列化匹配,然後在目標執行環境中測試該表示式。
關於XPath 測試工具
XPath Tester 會使用瀏覽器本機的 DOM 介面,將 XPath 1.0 表示式對應至 XML 文件。貼上格式正確的 XML,輸入一個表示式,執行並檢視節點集、字串、數字或布林值的結果。所有操作都在目前分頁中一個獨立的記憶體文件中進行;XML 和結果不會上傳。
XML 來源會使用 application/xml 透過 DOMParser 解析。解析錯誤的結果會被視為失敗,因此標籤不匹配或其他格式錯誤的 XML 將不會進行 XPath 評估。解析後的文件與頁面是分離的。匹配的元素會被序列化以便可視輸出,屬性使用顯式的 @ 符號表示,文字和備註節點會收到可視標籤。這些輸出並不會插入到頁面的活頁標籤中。
評估時使用 Document.evaluate 與 ANY_TYPE,讓瀏覽器回報運算式原本的 XPath 結果。節點集合結果會逐一收集,並以編號分行顯示。string、count 與 boolean 等函式會產生其純量結果類型,不會被強制轉成節點清單。空字串與零節點集合仍是有效結果,並會與解析器或運算式錯誤明確區分。
XPath 表示式中的名稱空間字首會從 XML 文件元素上可見的宣告中解析。保留的 xml 字首會對應到其標準名稱空間。例如,如果根元素宣告 xmlns:b="urn:books",則使用 b:book 的表示式可以選取這些名稱空間元素。未帶字首的名稱在 XPath 1.0 規則下會選取無名稱空間的元素;一個預設 XML 名稱空間不會讓未帶字首的 XPath 名稱匹配它。當需要時,請在 XML 和表示式中為該名稱空間指定明確的字首。
本工具遵循瀏覽器的 XPath 1.0 實作,而非 XPath 2.0、3.1、XQuery、XSLT、CSS 選取器、JSONPath 或 XML Schema 驗證器。後續版本引入的函式、序列、正規表示式功能、型別值、對映、陣列與運運算元均不支援。瀏覽器錯誤訊息可能不同,因此介面會加入穩定的 XPath 錯誤字首,以保留底層訊息供診斷使用。
XPath 可以選取元素、屬性、文字、註解以及處理相關的節點,但匹配並不證明 XML 滿足業務規則。DOMParser 在這個流程中不會根據 XSD 或 DTD 進行驗證。這個工具不會取得遠端文件、追蹤連結、執行指令碼、插入選取的標籤、修改來源或儲存歷史紀錄。請以與任何開發工具相同的本機螢幕和剪貼簿預防措施來處理敏感 XML。
操作範圍僅限於 500,000 XML 字元、2,000 表示式字元、500 匹配節點以及 1,000,000 顯示結果字元。若節點集合超過匹配限制,工具將失敗並要求使用更精確的表示式,而非顯示不完整的字首作為完整結果。以廣泛的後代搜尋開頭的表示式在大型檔案中可能耗時;若可行,請優先使用明確的絕對路徑或較窄的上下文。
八個外部測試資料涵蓋元素節點集合、string、count、Boolean、屬性、註解、命名空間及空選取行為。純測試會固定四種節點類型的可見序列化結果,而真實瀏覽器驗收測試則同時運行 DOMParser 與 Document.evaluate。若要可靠使用,請保留一份具有代表性的 XML 測試資料、明確宣告前置詞、測試有結果與零比對兩種情況,並在目標執行環境中驗證相同運算式,因為伺服器程式庫可能實作不同的 XPath 版本或命名空間政策。
方法與來源
將 application/xml 解析為分離的 DOM,拒絕解析錯誤的文件,從文件根部與保留的 xml 名稱空間解析 XPath 字首,使用瀏覽器自然的 ANY_TYPE 結果進行評估,將支援的節點型別序列化為可見文字,並在過限匹配或輸出時失敗,而非直接截斷。
常見問題
- 為何無字首的 XPath 會遺漏預設名稱空間中的元素?
- 根據 XPath 1.0,無字首的名稱會選取無名稱空間的元素。請將名稱空間繫結至字首,並在表示式中使用該字首。
- 此工具支援 XPath 2.0 或 3.1?
- 不支援。它使用瀏覽器 DOM 的 XPath 介面,實作的是 XPath 1.0 的行為。後續版本的序列、對映、陣列與函式均不支援。
- 匹配的 XML 會在本頁執行嗎?
- 不,XML 會留在分離文件中,序列化匹配結果會以文字顯示。它們永遠不會作為標籤插入到活躍的 DOM 中。
相關工具
- XML 格式化工具在瀏覽器中立即美化或壓縮 XML —— 不會上傳任何內容。
- XML 轉 JSON 轉換工具將結構完整、格式正確的 XML 轉換為可讀的 JSON,並保留屬性、文字內容、名稱空間以及重複元素。
- 正規表示式測試器即時測試 JavaScript 正規表示式 — 隨著你輸入,每一個匹配、捕獲群組與命名群組都會被高亮顯示。
- HTML 清理工具透過瀏覽器解析器標準化一個 HTML 片段,並可選擇移除註解節點,但不會預覽或執行結果。
- ANSI 色彩碼產生器建立並複製原始 SGR 逸出序列,並搜尋標準 8 色加亮 8 色的終端機色碼。
- ASCII 表格查詢所有標準 7 位 ASCII 編碼的精確十進位、十六進位、八進位與二進位值。
開發者工具 使用指南
查看全部- Convert .properties Files to JSON Online (英文原文)
- Random MAC Address On or Off: A Developer Guide (英文原文)
- Generate a JWT for Testing: HS256 Tokens in Your Browser (英文原文)
- How to Decode JWT Tokens in Angular Apps (英文原文)
- JSON Schema to Zod: Inference Limits and a Safer Path (英文原文)
- Rust: Convert a Struct to a JSON String With serde (英文原文)
- How to Convert JSON to Excel in Python (英文原文)
- JSON to CSV Alternative With Built-In Formula Protection (英文原文)
- Format a JSON File in VS Code and in Your Browser (英文原文)
- Local JavaScript Playground Alternative for Safe Testing (英文原文)
- How to Convert IPv4 to a 32-Bit Integer for Storage (英文原文)
- Convert Decimal Numbers to IEEE 754 Floating Point Format (英文原文)
- HTTP Status Codes Alternative: A Registry-First Lookup (英文原文)
- How to Edit HTML in a Browser Using a Sandboxed Preview (英文原文)
- Format HTML Code from Notepad++ Without Plugins (英文原文)
- Why Is Hello World Used in Programming: A Practical Guide (英文原文)
- How to Make Flexbox Items Fill the Container Height (英文原文)
- File Signatures List Alternative: Twelve Verified Prefixes (英文原文)
- How to Open Excel Files Online in a Browser Preview (英文原文)
- How to Convert Excel to JSON File for ITR Filing (英文原文)