XPath 表达式测试器与求值器
指导
XPath 表达式测试器与求值器
粘贴 XML 或 HTML 内容,输入一个 XPath 1.0 表达式,即可立即查看哪些节点匹配。测试器完全在您的浏览器中运行,高亮匹配片段,并为节点集、字符串、数字和布尔值提供可读摘要。
如何使用
- 将您的 XML 或 HTML 文档粘贴到源区域。
- 根据标记的规范程度选择“自动检测”、“XML(严格)”或“HTML(宽容)”。
- 输入一个 XPath 表达式,或选择一个预设示例,例如
//book[@category='fiction']/title. - 点击 评估. 匹配的节点将实时高亮显示,并在下方打印结果列表。
- 使用复制或下载按钮保存结果,或使用格式化按钮美化源代码。
特征
- 原生 XPath 1.0 – 使用
document.evaluate()使用浏览器自带的引擎,无需网络请求。 - XML + HTML 解析 — 对于规范文档使用严格 XML 模式,对于抓取页面使用宽容 HTML 模式。
- 实时高亮 — 匹配的元素、属性、文本节点和注释将直接在源代码中高亮显示。
- 可读结果面板 — 每个匹配项打印一个序列化结果,或为聚合查询打印数字、字符串或布尔值。
- 匹配计数器 — 显示“N 个节点匹配”的标签,以便快速调整选择器。
- 示例画廊 — 一键访问轴、谓词等的 XPath 表达式示例。
contains(),count(),并且last(). - 美化打印器 — 一键点击格式化按钮美化 XML 源代码。
- 仅客户端 — 无任何内容离开您的设备;安全用于私有模式和 HTML 片段。
常问问题
-
XPath 有什么用途?
XPath 是 W3C 为访问 XML 或 HTML 文档部分而设计的一种查询语言。它是 XSLT、XProc、多种自动化测试工具(如 Selenium、Playwright 定位器)、网页抓取库以及 SOAP/XML 验证流水线的基础。它允许您使用路径表达式、谓词和内置函数来描述一组节点。
-
XPath 与 CSS 选择器有何不同?
CSS 选择器仅限于后代、子元素、兄弟元素和属性关系,无法向上遍历树结构。XPath 增加了父节点和祖先轴、位置谓词、数值比较、字符串函数(如 contains() 和 starts-with()),以及直接选择属性和文本节点的能力。
-
支持哪种 XPath 版本?
该测试器依赖浏览器内置的 document.evaluate(),它实现了 XPath 1.0。XPath 2.0 和 3.1 的特性(如序列、类型比较和正则表达式函数)在浏览器中无法原生支持。
-
为什么某个表达式在工具中有效但在浏览器中失败?
第三方库通常实现 XPath 2.0 或 3.1,增加了序列操作、类型检查和函数(如 matches() 和 tokenize())。浏览器引擎仅支持 XPath 1.0,因此任何假设使用新功能的语法在原生运行时都会引发评估错误。
-
HTML 文档的解析方式与 XML 有何不同?
HTML 解析遵循 HTML5 算法,会隐式关闭标签、将元素名称转为小写,并接受未引号的属性。XML 解析严格,拒绝任何不规范的错误。该测试器会自动检测 DOCTYPE 或根元素,但当启发式判断错误时,您可以强制选择特定模式。
