[此文来源于互联网,牛C网只负责收集整理]
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 孙。 |
作者:gdgzboy@牛C网
地址:http://www.niuc.net/post/2569/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!
牛C网推荐您再看看以下日志:
十分钟学会 xajax
使用DOM创建XML
教你学会XML Web Service 的基础
利用XMLHTTP实现的二级连动Select
轻松学习XML教程
Hibernate 3新增XML关系持久性介绍
XSL-FO初学者教程-XSL-FO 区域
使用正则表达式进行xml数据验证
Ajax的一些个人理解
XML数据库中几个容易混淆的概念
十分钟学会 xajax
使用DOM创建XML
教你学会XML Web Service 的基础
利用XMLHTTP实现的二级连动Select
轻松学习XML教程
Hibernate 3新增XML关系持久性介绍
XSL-FO初学者教程-XSL-FO 区域
使用正则表达式进行xml数据验证
Ajax的一些个人理解
XML数据库中几个容易混淆的概念
css学习笔记
XPath 初学者入门教程-XPath 实例





