XPath 规范中,共有 13 种不同的轴。轴表示与上下文节点的关系,用于在树上相对于该节点定位节点。

有关使用 XPath 表达式的更多信息,请参见 进一步阅读 部分,位于 使用 XSLT 转换 XML 文档的末尾。另请参见 xpath 规范中的“轴”部分

ancestor

表示从父节点开始到根节点的所有祖先节点。

ancestor-or-self

表示上下文节点及其所有祖先节点,包括根节点。

attribute

表示上下文节点的属性。只有元素具有属性。此轴可以用 at 符号 (@) 简写。

child

表示上下文节点的子节点。如果 XPath 表达式没有指定轴,则默认情况下会理解为这个轴。由于只有根节点或元素节点具有子节点,因此任何其他使用都会选择空值。

descendant

表示上下文节点的所有子节点及其所有子节点,依此类推。**不** 包括属性节点和命名空间节点 - attribute 节点的 parent 是一个元素节点,但 attribute 节点不是其父节点的子节点。

descendant-or-self

表示上下文节点及其所有后代节点。**不** 包括属性节点和命名空间节点 - attribute 节点的 parent 是一个元素节点,但 attribute 节点不是其父节点的子节点。

following

表示出现在上下文节点之后的所有节点,除了任何 descendantattributenamespace 节点。

following-sibling

表示与上下文节点具有相同父节点并在源文档中出现在上下文节点之后的所有节点。

namespace (不支持)

表示对上下文节点处于作用域中的所有节点。在这种情况下,上下文节点必须是元素节点。

parent

表示上下文节点的父节点的单个节点。它可以用两个句点 (..) 简写。

preceding

表示在文档中出现在上下文节点之前的所有节点,除了任何 ancestorattributenamespace 节点。

preceding-sibling

表示与上下文节点具有相同父节点并在源文档中出现在上下文节点之前的所有节点。

self

表示上下文节点本身。它可以用一个句点 (.) 简写。