XPath 測試器

在 XML 或 HTML 上測試 XPath 表達式,查看符合的節點、值和路徑。

輸入類型
XML / HTML 輸入
結果
輸入 XML 或 HTML,再輸入 XPath 表達式即可測試。

你的 XML、HTML 和 XPath 會在瀏覽器本地測試,不會上傳到 BroBroGo。

常見問題

可以在 HTML 上測試 XPath 嗎?

可以。XML 模式保留 XML 的命名空間規則;HTML 模式更寬容,像 //a 這樣的簡單路徑可以直接符合普通標籤。

XML 命名空間怎麼處理?

XML 內宣告過的命名空間前綴可以直接寫進 XPath,例如 //x:item。預設命名空間亦會跟隨文件宣告,所以 //item 能按文件內的預設命名空間符合。

為什麼查詢會逾時?

很大的文件或過寬的表達式可能需要很久才能算完。工具會在 2 秒後停止本次查詢,讓頁面保持可用;可以縮窄路徑或換一段更小的樣本。

測試 XML 與 HTML 的 XPath 表達式

XPath 測試器是一個在瀏覽器本地運行的實用工具,專為開發人員、測試人員、數據抓取與遷移從業員,以及經常處理 XML 數據的用戶而設。本工具支援輸入 XML 或 HTML 格式的文本,並透過指定的 XPath 表達式進行即時查詢。

在操作時,工具會解析輸入的內容,並尋找所有符合 XPath 條件的節點。對於每一個匹配的節點,工具會詳細列出其類型、名稱、路徑以及值的預覽,並提供按鈕讓用戶複製個別結果的具體數值。


輸入限制與規格

為了確保瀏覽器運作流暢,工具設有以下輸入限制:

  • XML / HTML 輸入:支援最大 500,000 個字元的文本。
  • XPath 表達式:支援最大 4,000 個字元的表達式。
  • 輸入類型:用戶必須選擇「XML」或「HTML」其中一種模式。

如果輸入的內容超出限制,系統會顯示相應的提示。例如,當文件字元數過大時,會顯示「這段文件太大,暫時無法在這裡測試。請換一段更小的樣本。」;若表達式超出長度限制,則會提示「這個 XPath 表達式太長,暫時無法測試。」。


XML 模式與 HTML 模式的解析差異

選擇正確的輸入類型對於準確提取數據至關重要:

XML 模式

在 XML 模式下,工具會嚴格執行 XML 命名空間(Namespace)規則。

  • 命名空間前綴:若 XML 文件中宣告了命名空間前綴,用戶可以在 XPath 中直接使用,例如 //x:item
  • 預設命名空間:對於 XML 中的預設命名空間,//item 亦會跟隨文件宣告進行匹配。

HTML 模式

HTML 模式的容錯度較高。它允許使用簡單的路徑(例如 //a)來直接匹配標準的 HTML 標籤,適合用於網頁結構分析與數據抓取前的路徑測試。

需要注意的是,此工具是在靜態文本上運行,並不代表線上網頁的即時結構、瀏覽器渲染後的 DOM 或相關的網絡請求。


錯誤處理與效能保護機制

為了防止瀏覽器因執行複雜查詢而當機,工具設有 2 秒的執行時間限制。以下是常見的狀態與錯誤提示:

狀況 介面顯示訊息
尚未輸入數據 輸入 XML 或 HTML,再輸入 XPath 表達式即可測試。
正在運算 正在測試 XPath...
找不到匹配項 沒有結果。
文件無法解析 無法解析這段文件。
XPath 語法錯誤 這個 XPath 表達式不合法。
無法執行查詢 無法執行這個 XPath。
運算超過 2 秒 這個 XPath 執行太久了。請縮窄表達式,或換一段更小的樣本。

當成功匹配到數據時,工具會顯示「字元」數量與「結果」數量。如果匹配的結果超過 200 個,工具會顯示「只顯示前 {max} 個。」,並僅列出前 200 個結果以維持頁面效能。


本地處理與私隱說明

你的 XML、HTML 和 XPath 會在瀏覽器本地測試,不會上傳到 BroBroGo。所有解析與路徑匹配運算均在用戶的本機瀏覽器內完成,確保數據不會傳送至外部伺服器。


常見問題

可以在 HTML 上測試 XPath 嗎?

可以。XML 模式保留 XML 的命名空間規則;HTML 模式更寬容,像 //a 這樣的簡單路徑可以直接符合普通標籤。

XML 命名空間怎麼處理?

XML 內宣告過的命名空間前綴可以直接寫進 XPath,例如 //x:item。預設命名空間亦會跟隨文件宣告,所以 //item 能按文件內的預設命名空間符合。

為什麼查詢會逾時?

很大的文件或過寬的表達式可能需要很久才能算完。工具會在 2 秒後停止本次查詢,讓頁面保持可用;可以縮窄路徑或換一段更小的樣本。