DevToys Web Pro iconDevToys Web Pro博客
为我们评分:
试用浏览器扩展:

XPath 测试器

无匹配项
模式
XPath 表达式

XML / HTML 输入

  • 结果

    没有节点与该 XPath 表达式匹配。
    技术详情

    XPath 测试器如何工作

    工具功能

    XPath 测试器会针对 XML 或 HTML 文档评估 XPath 表达式,并在源文档中高亮匹配到的节点。你粘贴 XML/HTML 文档,输入 XPath 表达式,即可立刻看到所有匹配节点及其提取出的内容。这为开发用于网页抓取、XSLT 转换和 XML 数据提取的查询提供了即时的可视化反馈。

    常见开发者使用场景

    开发者在构建网页抓取选择器(Scrapy、lxml)、编写 XSLT 转换、查询 SOAP/XML API 响应,或从 Maven POM、Android manifest 等配置文件中提取数据时,会使用 XPath 测试器。QA 工程师在 CSS 选择器不足时(例如按文本内容选择或向上遍历)会使用 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()。

    何时使用此工具而非代码

    在将 XPath 表达式嵌入到抓取或转换代码之前,先使用此浏览器工具针对示例文档快速原型验证。对于生产环境的 XML 处理,请使用专用库(Python 的 lxml、Java 的 Saxon),它们支持 XPath 2.0/3.0,能正确处理命名空间,并可与 XSLT 和 XQuery 流水线集成,以完成复杂的文档转换。