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 秒後停止本次查詢,讓頁面保持可用;可以縮窄路徑或換一段更小的樣本。

透過 XPath 測試器進行 XML 與 HTML 查詢

XPath 測試器是一款專為開發人員、測試人員、資料爬取與遷移人員,以及經常處理 XML 文件的使用者所設計的工具。本工具支援在瀏覽器中直接輸入 XML 或 HTML 內容,並透過 XPath 表達式精確定位文件中的特定節點。

在進行測試時,工具會即時解析輸入的內容,並呈現所有符合表達式的節點資訊。輸出結果會完整顯示符合節點的類型、名稱、路徑以及該節點值的預覽,使用者亦可直接複製個別結果的數值。

輸入限制與模式選擇

為了確保瀏覽器的運作效能,本工具針對輸入內容設有長度限制:

  • XML / HTML 輸入:支援的最大長度為 500,000 個字元。
  • XPath 表達式:支援的最大長度為 4,000 個字元。

使用者可根據輸入文件的格式,在「XML 模式」與「HTML 模式」之間進行切換。這兩種模式在解析與評估 XPath 時有著不同的規則:

  • XML 模式:嚴格遵循 XML 命名空間規則。若 XML 文件中宣告了命名空間前綴,使用者可在 XPath 中直接使用,例如 //x:item。對於預設命名空間,//item 亦會跟隨文件宣告進行符合。
  • HTML 模式:解析規則較為寬容,允許使用如 //a 這種簡單的路徑來直接符合一般的 HTML 標籤。

異常處理與錯誤提示

在評估 XPath 表達式的過程中,工具會針對各種邊界情況與錯誤顯示對應的提示訊息:

  • 文件過大:當輸入的文件字元數超過限制時,系統會顯示「這段文件太大,暫時無法在這裡測試。請換一段更小的樣本。」。
  • 表達式過長:若輸入的 XPath 超過字元限制,會顯示「這個 XPath 表達式太長,暫時無法測試。」。
  • 解析失敗:若輸入的文件格式不正確而無法解析,會顯示「無法解析這段文件。」。
  • 表達式不合法:若 XPath 語法有誤,會顯示「這個 XPath 表達式不合法。」。
  • 無法執行:若 XPath 因其他原因無法被評估,會顯示「無法執行這個 XPath。」。
  • 執行逾時:為了防止瀏覽器當機,工具會在評估執行達 2 秒後自動停止,並顯示「這個 XPath 執行太久了。請縮窄表達式,或換一段更小的樣本。」。
  • 無符合結果:若未找到任何符合的節點,會顯示「沒有結果。」。
  • 結果數量限制:當符合的結果超過 200 個時,工具僅會顯示前 200 個結果,並提示「只顯示前 {max} 個。」。

瀏覽器本地處理與隱私保護

本工具非常注重資料隱私。你所輸入的 XML、HTML 以及 XPath 表達式完全是在你的瀏覽器本地進行測試與運算,過程中沒有任何資料會被上傳到 BroBroGo 伺服器。

需要注意的是,本工具僅針對你手動輸入或貼上的靜態文本進行 XPath 評估。它並不能代表線上網頁的即時結構、動態渲染後的 DOM 樹,亦不會發送任何網路請求去獲取外部網頁內容。

常見問題 FAQ

可以在 HTML 上測試 XPath 嗎?

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

XML 命名空間怎麼處理?

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

為什麼查詢會逾時?

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