CoderTools

XPath测试工具

在线测试和验证XPath表达式,即时查看结果

匹配结果

未找到匹配项
输入XML/HTML和XPath表达式以查看结果

结果详情

输入XPath表达式和XML/HTML文档以查看详细的匹配信息

快捷模板

XPath测试工具使用指南

XPath基础概念

XPath(XML路径语言)是一种用于在XML和HTML文档中选取节点的查询语言。它使用路径表达式在文档树结构中导航元素和属性,工作方式类似于文件系统路径。

绝对路径

/html/body/div

从根节点开始选取。当您清楚文档的确切结构时使用此方式。

相对路径

//div[@class='content']

在文档任意位置选取节点。更加灵活,也是最常用的方式。

XPath语法参考

选择表达式

表达式 说明
/ 从根节点选取(绝对路径)
// 在当前上下文以下任意位置选取节点(相对路径)
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
* 匹配任意元素节点

谓词(过滤条件)

表达式 说明
[1] 选取第一个元素
[last()] 选取最后一个元素
[@attr] 选取具有指定属性的元素
[@attr='val'] 选取属性值等于指定值的元素
[position()<3] 选取位置小于3的元素

常用函数

text()

选取节点的文本内容

contains()

检查字符串是否包含子串

starts-with()

检查字符串是否以指定前缀开头

normalize-space()

去除前后空白字符

count()

计算节点数量

not()

条件为假时返回真

XPath实用示例

选取外部链接

//a[@href and contains(@class, 'external')]

查找所有具有href属性且class中包含'external'的锚点元素。

选取表格数据(跳过表头)

//table//tr[position() > 1]/td[1]

选取每行表格的第一个单元格,排除表头行。

提取可见文本内容

//*[not(self::script) and not(self::style)]//text()

获取所有文本节点,但排除script和style元素内的内容。

XPath轴

轴定义了当前节点与文档树中其他节点之间的关系,允许在任意方向上进行导航。

ancestor::

选取所有祖先节点(父节点、祖父节点等)

descendant::

选取所有后代节点(子节点、孙节点等)

following-sibling::

选取当前节点之后的所有同级节点

preceding-sibling::

选取当前节点之前的所有同级节点

child::

选取当前节点的所有子节点

parent::

选取当前节点的父节点

快捷菜单

暂无访问记录