`

位置路径示例——XPath语法详解系列(十二)

    博客分类:
  • XML
阅读更多
  • 位置路径示例

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


路径 说明

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()>1]

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

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

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

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

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

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

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

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

选择上下文节点中 type 属性值为 "warning". 的第 5 个 <para> 子级,注:连续的谓词为与的关系,都是针对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> 子级。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics