本文章资料参考w2school,仅作为一个学习笔记。 有错欢迎指正!
一、基本概述
学习XPath之前有必要对相关知识做下基本概述:
XML(Extensible Markup Language)可扩展标记语言,设计之初就是为了存储和传输数据,标签本身没有被预定义,符合w3c标准。
XPath即XML路径语言,可在 XML 文档中对元素和属性进行遍历。它包含一个标准的函数库,符合w3c标准。
二、举个栗子
我们用如下xml文档对xpath作进一点的了解:
Xpath有如下七种类型节点:
- 元素(element):<book>
- 属性(attribute):lang="en"
- 文本(text):Everyday Italian
- 命名空间(namespace:xmlns):xmlns=""
- 处理指令(processing instruction):强大的函数库
- 注释(comment):<!-- -->
- 文档节点(root):文档根节点,即<bookstore>
三、基本语法及表达式
XPath 使用路径表达式在 XML 文档中选取节点。节点是通过沿着路径或者 step 来选取的。
个人理解Xpath表达式可以作以下几个方面的概括:
- 一般表达式:编写较为简单,通过沿着路径来选取所需要的元素。例:"/bookstore/book/title"
- 谓词表达式:用来查找某个特定的节点或者包含某个指定的值的节点,谓语被嵌在方括号中。例:"/bookstore/book[1]","/bookstore/book[last()]","//title[@lang]"
- 通配符表达式:通配符可用来选取未知的 XML 元素。例:"/bookstore/*","//*","//title[@*]"
- Xpath轴:轴可定义相对于当前节点的节点集。例:"child::book","attribute::lang",“child::text()”
- Xpath运算: 用作逻辑运算,除了常用的表达式的逻辑判读处理外还包括加、减、乘、除的运算等。例:"/bookstore/book[price>35.00]/title"
下面列出了最有用的表达式:
路径表达式:
通配符表达式
XPath轴
Xpath运算符
-
Xpath数学运算符
运算符
描述
| 计算两个节点集 + 加法 - 减法 * 乘法 div 除法 mod 计算除法的余数 -
Xpath逻辑运算符
运算符
描述
= 等于 != 不等于 < 小于 <= 小于等于 > 大于 >= 大于等于 or 或 and 与
四、XPath使用实例
部分表达式使用实例,请看以下代码注释
五、总结
首先XPath的学习成本是非常低的,基本上花个一个半个小时就能进行简单的项目应用了。对于提取数据方面来说,XPath是简单粗爆的。Xpath包含
一个标准的函数库。由此,我们可以按Step或沿着路径来获取所关心的数据内容。这有点类似我们所使用的windows磁盘文件的方式(C:\Windows)。
关于XPath的学习分享就到这里暂告一段落了,后续会分享一个关于XQuery的学习笔记。谢谢大家!