在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。

XPath 术语

节点(Node)

在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

请看下面这个 XML 文档:

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

<bookstore>

<book>
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book> </bookstore>

上面的XML文档中的节点例子:

<bookstore> (文档节点)
<author>J K. Rowling</author> (元素节点)
lang="en" (属性节点)

基本值(或称原子值,Atomic value)

基本值是无父或无子的节点。

基本值的例子:

J K. Rowling
"en"

项目(Item)

项目是基本值或者节点。

节点关系

父(Parent)

每个元素以及属性都有一个父。

在下面的例子中,book 元素是 title、author、year 以及 price 元素的父:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

子(Children)

元素节点可有零个、一个或多个子。

在下面的例子中,title、author、year 以及 price 元素都是 book 元素的子:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

同胞(Sibling)

拥有相同的父的节点

在下面的例子中,title、author、year 以及 price 元素都是同胞:

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>

先辈(Ancestor)

某节点的父、父的父,等等。

在下面的例子中,title 元素的先辈是 book 元素和 bookstore 元素:

<bookstore>

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book> </bookstore>

后代(Descendant)

某个节点的子,子的子,等等。

在下面的例子中,bookstore 的后代是 book、title、author、year 以及 price 元素:

<bookstore>

<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book> </bookstore>

最新文章

  1. apache_commons 之 双向Map DualHashBidiMap (使用及源码)
  2. Demo中的IOC自定义实现
  3. Can&#39;t connect to MySQL server on &#39;127.0.0.1&#39; (111)
  4. log4net的各种Appender配置示例
  5. IOS 推送-客户端处理推送消息
  6. 解决.VS2012+EF5.0开发的网站在window server2003上无法部署的问题
  7. UVA1583 最小生成元
  8. 【转】Java的接口和抽象类的区别
  9. eclipse提交本地项目到github
  10. POJ 3277 City Horizon
  11. 【CSS中width、height的默认值】
  12. SSH框架整合 日志处理Spring结合 log4j、slf4j
  13. Activity篇章参考
  14. macOS安装beego的使用bee命令出现killed:9 解决办法
  15. 30分钟掌握ES6/ES2015核心内容(下)
  16. Python 嘉宾列表问题
  17. MATLAB实现Brovey图像融合
  18. &ldquo;耐撕&rdquo;团队 2016.03.31 站立会议
  19. Codeforces Round #290 (Div. 2) E. Fox And Dinner 网络流建模
  20. tomcat和eclipse-wtp的一些配置

热门文章

  1. Shell 编程基础之 &amp;&amp; 与 ||
  2. Connect the Cities[HDU3371]
  3. 一些Asp.Net面试题答案
  4. requirejs:模块加载(require)及定义(define)时的路径小结
  5. ajax详细介绍
  6. 《bootstrap》实战---作为了解
  7. 文件编码、charset、sublime编辑器支持GBK等问题
  8. python: DOM 小实例
  9. Unity3D &quot;Library\UnityAssemblies\UnityEngine.xml&quot; is denied错误解决方法
  10. Java并发编程底层实现原理 - volatile