XPath 查询工具
输入 XML/HTML 文档和 XPath 表达式,实时提取匹配节点,使用浏览器原生 API 实现
XPath
XML 文档
匹配结果 0 个节点
关于 XPath 查询工具
- XPath(XML Path Language)是用于在 XML/HTML 文档中定位节点的查询语言,是 W3C 标准
- 广泛用于自动化测试(Selenium)、数据爬取、XML 数据处理、XSLT 转换等场景
- 本工具使用浏览器原生
document.evaluate()API,支持完整 XPath 1.0 语法,无需额外库
操作说明
- 选择文档类型(XML 或 HTML),在左侧粘贴文档内容,在顶部输入 XPath 表达式,点击「查询」或按 Ctrl+Enter
- 点击「示例」加载书店 XML 示例数据,并填入示例 XPath 表达式
- 右侧显示匹配节点的序列化文本和节点数量,支持一键复制
- 支持拖拽
.xml或.html文件到输入区
注意事项
- XML 模式要求文档格式严格合法(标签闭合、属性加引号等),否则解析会失败
- HTML 模式使用浏览器 HTML 解析器,对格式要求较宽松
- 所有处理均在浏览器本地完成,不会上传任何数据
XPath 知识详解
XPath 常用轴速查
| 表达式 | 说明 | 示例 |
|---|---|---|
//tag | 文档任意位置的 tag | //title |
/root/child | 绝对路径 | /bookstore/book |
tag[@attr] | 有指定属性的节点 | //a[@href] |
tag[@attr='val'] | 属性等于指定值 | //input[@type='text'] |
tag[n] | 第 n 个子节点(1起) | //book[1] |
tag[last()] | 最后一个 | //book[last()] |
tag/text() | 文本内容 | //title/text() |
tag/@attr | 属性值 | //a/@href |
contains() | 包含函数 | //p[contains(text(),'hello')] |
XPath vs CSS 选择器对比
| 功能 | XPath | CSS 选择器 |
|---|---|---|
| 选择父节点 | ✅ child/parent::* | ❌ 不支持 |
| 文本内容匹配 | ✅ [text()='val'] | ❌ 不支持 |
| 属性选择 | ✅ [@attr='val'] | ✅ [attr='val'] |
| 第 n 个子元素 | ✅ [n](1起) | ✅ :nth-child(n) |
| XML 支持 | ✅ 完整支持 | ⚠️ 仅 HTML |
| 学习曲线 | 较陡 | 较平缓 |