Skip to content

轴 Axes

轴定义了节点之间的关系,以下是一些常用的轴。

表达式描述举例
child::node选取当前节点的所有子节点child::book 或简写为 book
attribute::attribute选取当前节点的所有属性attribute::lang 或简写为 @lang
parent::node选取当前节点的父节点parent::bookstore
child::*选择当前节点的所有元素子级child::*
attribute::*选取当前节点的所有属性attribute::*
child::text()选择当前节点的所有文本节点子节点
child::node()选择当前节点的所有子节点
ancestor::node选取当前节点的所有祖先节点(包括父节点)ancestor::bookstore
descendant::node选取当前节点的所有后代节点(子节点、孙节点等)descendant::title
following-sibling::node选取当前节点之后的所有兄弟节点following-sibling::book
preceding-sibling::node选取当前节点之前的所有兄弟节点preceding-sibling::book
child::*/child::price选择当前节点的所有子节点

示例

当前节点子节点的所有书本节点

xpath
//bookstore/child::book

选取当前节点的所有属性

xpath
//title/attribute::lang

选择当前节点的所有元素子级

xpath
//book[@category="children"]/child::*

选择当前节点的所有属性

xpath
//bookstore/book/attribute::*

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

xpath
//bookstore/child::node()

选取当前节点的所有祖先节点

xpath
//book/ancestor::bookstore

选取当前节点的所有后代节点

xpath
//bookstore/descendant::title