XPath 測試器
XML / HTML 輸入
結果
技術細節
XPath 測試器如何運作
工具功能說明
XPath 測試器會針對 XML 或 HTML 文件評估 XPath 表達式,並在來源中高亮顯示匹配的節點。你貼上 XML/HTML 文件、輸入 XPath 表達式,即可立即看到所有匹配節點並擷取其內容。這為用於網頁爬蟲、XSLT 轉換與 XML 資料擷取的查詢開發提供即時的視覺回饋。
常見的開發者使用情境
開發者在建立網頁爬蟲選擇器(Scrapy、lxml)、撰寫 XSLT 轉換、查詢 SOAP/XML API 回應,或從 Maven POM 與 Android manifests 等設定檔擷取資料時,會使用 XPath 測試器。當 CSS 選擇器不足時(例如依文字內容選取或向上遍歷),QA 工程師會使用 XPath 開發 Selenium 定位器。DevOps 工程師則會查詢以 XML 為基礎的建置與部署設定。
資料格式、型別或變體
XPath 支援位置路徑(//book/title)、述詞(//item[@price > 10])、軸(ancestor::、following-sibling::)、函式(contains()、starts-with()、normalize-space()、count())以及聯集表達式(|)。XPath 1.0 會回傳節點集合、字串、數字與布林值。XPath 2.0+ 新增序列、正則表達式與日期/時間函式,但瀏覽器實作通常支援 1.0。帶命名空間前綴的元素需要註冊命名空間才能正確匹配。
常見陷阱與邊界情況
最常見的 XPath 錯誤是忽略預設命名空間——位於命名空間中的元素,即使原始文件中沒有出現任何前綴,也不會匹配未加前綴的路徑。以 XML 解析的 HTML 會區分大小寫(DIV ≠ div),而 HTML5 解析器會正規化為小寫。'//' 縮寫會搜尋所有後代節點,在大型文件上可能非常慢;當結構已知時,優先使用絕對路徑。瀏覽器的 XPath 引擎不支援 XPath 2.0 的函式,例如用於正則表達式的 matches()。
何時使用此工具 vs 程式碼
在將 XPath 表達式嵌入爬取或轉換程式碼之前,先使用這個瀏覽器工具針對範例文件快速原型驗證。若要進行生產環境的 XML 處理,請使用支援 XPath 2.0/3.0 的專用函式庫(Python 的 lxml、Java 的 Saxon),它們能正確處理命名空間,並可與 XSLT 與 XQuery 管線整合,以進行複雜的文件轉換。