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)包括:
步的语法:
轴名称::节点测试[谓语]
实例
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 轴(Axes)是 XPath 的一个重要组成部分,XPath 轴用来指定节点的方向和关系。XPath 运算符是用于组合 XPath 表达式的符号。 XPath 函数是一个非常重要的组成部分,XPath 函数库中有超过 100 个内建的函数。...
本文将深入讲解XPath的基础用法,包括XPath的简介、教程、Axes、节点类型、实例、语法以及运算符。 1. **XPath简介** XPath是W3C标准的一部分,它的主要目的是为了提供一种简洁且相对独立的方式来定位XML文档中的...
XPath基于W3C标准,它提供了丰富的函数库和轴(axes),用于定位XML或HTML文档中的特定部分。例如,你可以通过路径表达式选取元素,如`/html/body/p`会选择HTML文档中所有`<p>`标签。轴则允许我们描述节点之间的关系...
- 轴(Axes):如祖先轴(ancestor)、子节点轴(child)、后代轴(descendant)等,用于描述节点间的关系。 - 选择器:如通配符(*)、名称选择器(elementName)、类选择器([@attribute='value'])等。 - 函数:...
XPath中的轴(Axes)是选取节点的重要机制。例如,"child::" 轴选取当前节点的所有子节点,"parent::" 选取父节点,"attribute::" 选取属性。还有其他轴,如 "following-sibling::" 和 "preceding-sibling::",用于...
XPath提供了一系列的轴(axes),如后代、子、父、祖先、同辈等,以及节点测试和谓语来定位具体的节点。例如,"//elementName"选取文档中所有名为"elementName"的元素,而"xPathExpression[condition]"则选取满足...
2. **轴(Axes)**:轴定义了节点的选取方向,如`ancestor`(祖先)、`child`(子节点)、`following-sibling`(后续同级)等。 3. **节点测试(Node Tests)**:用来测试选取的节点类型,例如`*`代表所有节点,`...
这些关系可以通过XPath的路径表达式和轴(axes)来描述。例如,使用`ancestor::`轴可以选取当前节点的所有先辈节点,`child::`轴选取当前节点的所有子节点。 XPath的语法还包括谓语,它们被放在方括号中,用于...
2. **轴(Axes)**:轴定义了节点间的导航关系,例如子节点(child)、父节点(parent)、兄弟节点(following-sibling)和祖先节点(ancestor)等。通过轴,XPath可以确定从一个节点到另一个节点的关系。 3. **...
该存储库包含有关xpath基础知识和xpath轴的简要概述。 讨论过的主题- * What is Xpath * Where to Use Xpath * Types of Xpath * Which Xpath statagy should be used * Xpath with some different fuctions ...
XPath语法中包含轴(axes)的概念,轴用于指定节点树中的节点关系和方向。例如,“ancestor”轴可以选取某个节点的所有祖先节点,而“child”轴则选取所有子节点。XPath表达式可以非常复杂,包括对节点集进行过滤,...
XPath Axes(坐标轴) XPath使用轴的概念来定义节点之间的关系。例如,`child::book/title`将选择所有直接子元素中的书名。 ##### 4.1 XPath轴 XPath定义了多种轴来表示节点间的关系,如`ancestor`、`descendant...
XPath还定义了坐标轴(Axes),如祖先轴、子元素轴、属性轴等,帮助定位文档中的关系。例如,`child::`轴选取当前节点的所有子节点,`parent::`轴选取当前节点的父节点,`attribute::`轴选取当前节点的所有属性。 ...
轴(Axes) 轴定义了在XML文档树中移动的方向。XPath定义了多种轴,如child、parent、ancestor、following-sibling等,用于指向不同类型的节点。例如,“node/child::paragraph”选择“node”的所有子段落元素。 ##...
2. **轴(Axes)**:轴定义了节点之间的关系,如子节点(child)、父节点(parent)、同级节点(following-sibling)和前一个同级节点(preceding-sibling)等。例如,`//p/following-sibling::div`会选取所有在元素...
5. **XPath Axes(轴)**: - 轴定义了节点之间的关系,例如: - `child::`表示子节点,如`/pets/child::dog`选择`pets`元素下的所有`dog`子元素。 - `attribute::`表示属性,如`//dog/attribute::color`选择所有...
- **轴(Axes)**:描述节点间的关系,如祖先(ancestor)、后代(descendant)、父(parent)、子(child)、同级(sibling)等。 - **运算符**:包括比较运算符(如`=`、`>`、`),逻辑运算符(如`and`、`or`),...
- **轴(Axes)**:定义了节点之间的关系,例如子节点(child)、父节点(parent)、兄弟节点(following-sibling)等。 - **函数**:XPath提供了丰富的内置函数,如`count()`、`normalize-space()`、`concat()`等...
##### 2.2 轴 (Axes) - **定义**:轴定义了节点之间的关系,指定了从当前节点移动的方向。 - **常见轴**: - `child`:子节点。 - `parent`:父节点。 - `ancestor`:祖先节点。 - `following-sibling`:同级...