`
747017186
  • 浏览: 331584 次
社区版块
存档分类
最新评论

XPath Axes(轴)

    博客分类:
  • xml
 
阅读更多

XPath Axes(轴)

XML 实例文档

我们将在下面的例子中使用此 XML 文档:

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>

<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

XPath 轴

轴可定义相对于当前节点的节点集。

轴名称 结果
ancestor 选取当前节点的所有先辈(父、祖父等)。
ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身。
attribute 选取当前节点的所有属性。
child 选取当前节点的所有子元素。
descendant 选取当前节点的所有后代元素(子、孙等)。
descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
following 选取文档中当前节点的结束标签之后的所有节点。
namespace 选取当前节点的所有命名空间节点。
parent 选取当前节点的父节点。
preceding 选取文档中当前节点的开始标签之前的所有节点。
preceding-sibling 选取当前节点之前的所有同级节点。
self 选取当前节点。

位置路径表达式

位置路径可以是绝对的,也可以是相对的。

绝对路径起始于正斜杠( / ),而相对路径不会这样。在两种情况中,位置路径均包括一个或多个步,每个步均被斜杠分割:

绝对位置路径:

/step/step/...

相对位置路径:

step/step/...

每个步均根据当前节点集之中的节点来进行计算。

步(step)包括:

轴(axis)
定义所选节点与当前节点之间的树关系
节点测试(node-test)
识别某个轴内部的节点
零个或者更多谓语(predicate)
更深入地提炼所选的节点集

步的语法:

轴名称::节点测试[谓语]

实例

例子 结果
child::book 选取所有属于当前节点的子元素的 book 节点。
attribute::lang 选取当前节点的 lang 属性。
child::* 选取当前节点的所有子元素。
attribute::* 选取当前节点的所有属性。
child::text() 选取当前节点的所有文本子节点。
child::node() 选取当前节点的所有子节点。
descendant::book 选取当前节点的所有 book 后代。
ancestor::book 选择当前节点的所有 book 先辈。
ancestor-or-self::book 选取当前节点的所有 book 先辈以及当前节点(如果此节点是 book 节点)
child::*/child::price 选取当前节点的所有 price 孙节点。
分享到:
评论

相关推荐

    【学习 XPath】.pdf

    XPath 轴(Axes)是 XPath 的一个重要组成部分,XPath 轴用来指定节点的方向和关系。XPath 运算符是用于组合 XPath 表达式的符号。 XPath 函数是一个非常重要的组成部分,XPath 函数库中有超过 100 个内建的函数。...

    XPath基础用法详解

    本文将深入讲解XPath的基础用法,包括XPath的简介、教程、Axes、节点类型、实例、语法以及运算符。 1. **XPath简介** XPath是W3C标准的一部分,它的主要目的是为了提供一种简洁且相对独立的方式来定位XML文档中的...

    xpath helper插件

    XPath基于W3C标准,它提供了丰富的函数库和轴(axes),用于定位XML或HTML文档中的特定部分。例如,你可以通过路径表达式选取元素,如`/html/body/p`会选择HTML文档中所有`&lt;p&gt;`标签。轴则允许我们描述节点之间的关系...

    xpathhelper

    - 轴(Axes):如祖先轴(ancestor)、子节点轴(child)、后代轴(descendant)等,用于描述节点间的关系。 - 选择器:如通配符(*)、名称选择器(elementName)、类选择器([@attribute='value'])等。 - 函数:...

    xPath-API文档

    XPath中的轴(Axes)是选取节点的重要机制。例如,"child::" 轴选取当前节点的所有子节点,"parent::" 选取父节点,"attribute::" 选取属性。还有其他轴,如 "following-sibling::" 和 "preceding-sibling::",用于...

    xpath viewer.rar

    XPath提供了一系列的轴(axes),如后代、子、父、祖先、同辈等,以及节点测试和谓语来定位具体的节点。例如,"//elementName"选取文档中所有名为"elementName"的元素,而"xPathExpression[condition]"则选取满足...

    xpath规则验证工具

    2. **轴(Axes)**:轴定义了节点的选取方向,如`ancestor`(祖先)、`child`(子节点)、`following-sibling`(后续同级)等。 3. **节点测试(Node Tests)**:用来测试选取的节点类型,例如`*`代表所有节点,`...

    XPATH开发帮助文档

    这些关系可以通过XPath的路径表达式和轴(axes)来描述。例如,使用`ancestor::`轴可以选取当前节点的所有先辈节点,`child::`轴选取当前节点的所有子节点。 XPath的语法还包括谓语,它们被放在方括号中,用于...

    XPath.chm参考手册

    2. **轴(Axes)**:轴定义了节点间的导航关系,例如子节点(child)、父节点(parent)、兄弟节点(following-sibling)和祖先节点(ancestor)等。通过轴,XPath可以确定从一个节点到另一个节点的关系。 3. **...

    Xpath-Overview:该存储库包含有关xpath基础知识和xpath轴的简要概述

    该存储库包含有关xpath基础知识和xpath轴的简要概述。 讨论过的主题- * What is Xpath * Where to Use Xpath * Types of Xpath * Which Xpath statagy should be used * Xpath with some different fuctions ...

    参考手册xpath

    XPath语法中包含轴(axes)的概念,轴用于指定节点树中的节点关系和方向。例如,“ancestor”轴可以选取某个节点的所有祖先节点,而“child”轴则选取所有子节点。XPath表达式可以非常复杂,包括对节点集进行过滤,...

    XPath简明教程

    XPath Axes(坐标轴) XPath使用轴的概念来定义节点之间的关系。例如,`child::book/title`将选择所有直接子元素中的书名。 ##### 4.1 XPath轴 XPath定义了多种轴来表示节点间的关系,如`ancestor`、`descendant...

    java xml xpath介绍

    XPath还定义了坐标轴(Axes),如祖先轴、子元素轴、属性轴等,帮助定位文档中的关系。例如,`child::`轴选取当前节点的所有子节点,`parent::`轴选取当前节点的父节点,`attribute::`轴选取当前节点的所有属性。 ...

    XML Path Language (XPath).pdf

    轴(Axes) 轴定义了在XML文档树中移动的方向。XPath定义了多种轴,如child、parent、ancestor、following-sibling等,用于指向不同类型的节点。例如,“node/child::paragraph”选择“node”的所有子段落元素。 ##...

    xpath资料还有相关的下载地址

    2. **轴(Axes)**:轴定义了节点之间的关系,如子节点(child)、父节点(parent)、同级节点(following-sibling)和前一个同级节点(preceding-sibling)等。例如,`//p/following-sibling::div`会选取所有在元素...

    XML___Xpath

    5. **XPath Axes(轴)**: - 轴定义了节点之间的关系,例如: - `child::`表示子节点,如`/pets/child::dog`选择`pets`元素下的所有`dog`子元素。 - `attribute::`表示属性,如`//dog/attribute::color`选择所有...

    XPath教程DOC

    - **轴(Axes)**:描述节点间的关系,如祖先(ancestor)、后代(descendant)、父(parent)、子(child)、同级(sibling)等。 - **运算符**:包括比较运算符(如`=`、`&gt;`、`),逻辑运算符(如`and`、`or`),...

    xpath解析xml

    - **轴(Axes)**:定义了节点之间的关系,例如子节点(child)、父节点(parent)、兄弟节点(following-sibling)等。 - **函数**:XPath提供了丰富的内置函数,如`count()`、`normalize-space()`、`concat()`等...

    XML 路径语言(XPath) 版本 1.0

    ##### 2.2 轴 (Axes) - **定义**:轴定义了节点之间的关系,指定了从当前节点移动的方向。 - **常见轴**: - `child`:子节点。 - `parent`:父节点。 - `ancestor`:祖先节点。 - `following-sibling`:同级...

Global site tag (gtag.js) - Google Analytics