位置路径示例

下面的示例说明位置路径的用法。

路径 说明

child::node()

选择上下文节点的所有子级,无论属于哪种节点类型。

attribute::name

选择上下文节点的 name 属性。

attribute::*

选择上下文节点的所有属性。

descendant::para

选择上下文节点的 <para> 元素后代。

ancestor::div

选择上下文节点的所有 <div> 上级。

ancestor-or-self::div

选择上下文节点的 <div> 上级,如果上下文节点是一个 <div> 元素,则也选择该上下文节点。

descendant-or-self::para

选择上下文节点的 <para> 元素后代,如果上下文节点是一个 <para> 元素,则也选择该上下文节点。

self::para

如果上下文节点是一个 <para> 元素,则选择该上下文节点,否则什么也不选。

child::chapter/descendant::para

选择上下文节点的 <chapter> 元素子级的 <para> 元素后代。

child::*/child::para

选择上下文节点的所有 <para> 孙级。

/

选择文档根(总是文档元素的父级)。

/descendant::para

选择与上下文节点同在一个文档中的所有 <para> 元素。

/descendant::olist/child::item

选择具有 <olist> 父级并且与上下文节点同在一个文档中的所有 <item> 元素。

child::para[position()=1]

选择上下文节点的第一个 <para> 子级。

child::para[position()=last()]

选择上下文节点的最后一个 <para> 子级。

child::para[position()=last()-1]

选择上下文节点的倒数第二个 <para> 子级。

child::para[position()&gt;1]

选择上下文节点的所有 <para> 子级,但上下文节点的第一个 <para> 子级除外。

/descendant::figure[position()=42]

选择文档中第 42 个 <figure> 元素。

/child::doc/child::chapter[position()=5]/child::section[position()=2]

选择 <doc> 文档元素的第 5 个 <chapter> 元素中包含的第 2 个 <section> 元素。

child::para[attribute::type="warning"]

选择上下文节点中 type 属性值为 "warning" 的所有 <para> 子级。

child::para[attribute::type="warning"][position()=5]

选择上下文节点中 type 属性值为 "warning". 的第 5 个 <para> 子级。

child::para[position()=5][attribute::type="warning"]

如果上下文节点的第 5 个 <para> 子级的 type 属性值为 "warning",则选择该子级。

child::chapter[child::title="Introduction"]

选择上下文节点中具有一个或多个字符串值等于“Introduction”的 <title> 子级的 <chapter> 子级。

child::chapter[child::title]

选择上下文节点中具有一个或多个 <title> 子级的 <chapter> 子级。

child::*[self::chapter or self::appendix]

选择上下文节点的 <chapter><appendix> 子级。

child::*[self::chapter or self::appendix][position()=last()]

选择上下文节点的最后一个 <chapter><appendix> 子级。

另请参见

参考

XPath 示例