XPath 测试器
XML / HTML 输入
结果
技术详情
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 流水线集成,以完成复杂的文档转换。