XPath 轴(Axes)
2025-04-23
15
参考资料
XPath 轴(Axes)详解表
轴名称 | 描述 | 语法示例 | 说明 |
---|---|---|---|
ancestor | 选择当前节点的所有祖先节点(父节点、祖父节点等) | ancestor::div | 查找当前节点之上的所有 div 祖先 |
ancestor-or-self | 选择当前节点及其所有祖先节点 | ancestor-or-self::* | 包含当前节点及其所有祖先 |
attribute | 选择当前节点的所有属性 | attribute::id 或 @id | 获取当前节点的 id 属性 |
child | 选择当前节点的所有子节点 | child::book | 获取当前节点下的所有 book 子节点 |
descendant | 选择当前节点的所有后代节点(子节点、孙节点等) | descendant::p | 查找当前节点下的所有 p 元素 |
descendant-or-self | 选择当前节点及其所有后代节点 | descendant-or-self::* | 包含当前节点及其所有后代 |
following | 选择文档中当前节点之后的所有节点(不包括后代) | following::div | 获取当前节点之后的所有 div 节点 |
following-sibling | 选择当前节点之后的所有同级节点 | following-sibling::li | 获取当前 li 节点之后的所有同级 li |
namespace | 选择当前节点的所有命名空间节点 | namespace::* | 获取当前节点的命名空间 |
parent | 选择当前节点的父节点 | parent::* 或 .. | 获取当前节点的父节点 |
preceding | 选择文档中当前节点之前的所有节点(不包括祖先) | preceding::h2 | 获取当前节点之前的所有 h2 节点 |
preceding-sibling | 选择当前节点之前的所有同级节点 | preceding-sibling::td | 获取当前 td 节点之前的所有同级 td |
self | 选择当前节点本身 | self::node() 或 . | 返回当前节点 |
常用简写形式
简写 | 等价形式 | 示例 |
---|---|---|
@ | attribute:: | @id → attribute::id |
// | /descendant-or-self::node()/ | //div → /descendant-or-self::node()/div |
. | self::node() | .//p → 当前节点下的所有 p |
.. | parent::node() | ../title → 父节点下的 title |
示例应用
获取所有子节点
child::* // 当前节点的所有子元素
获取所有属性
@* // 当前节点的所有属性
获取后续同级节点
following-sibling::li // 当前节点之后的所有 `li` 兄弟节点
获取祖先节点
ancestor::div // 当前节点的所有 `div` 祖先
获取父节点下的某个子节点
../title // 父节点下的 `title` 元素
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。