什么是Xpath
xpath是一门在XML文档中查找信息的语言
Xpath是XSLT中的主要元素
Xquery和XPointer均构建于Xpath表达式之上
XPath的特点
1 XPath使用路径表达式在XML文档中进行导航
2 XPath包含一个标准的函数库
3 XPath是XSLT中的主要元素
4 XPath是一个W3C标准
XPath路径表达式
Xpath使用路径表达式来选取XML文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件中看到的表达式非常相似。
XPath标准库
XPath 含有超过 100 个内建的函数。这些函数用于字符串值、数值、日期和时间比较、节点和 QName 处理、序列处理、逻辑值等等。
XPath在XSLT中的使用
Xpath是XSLT标准中的主要元素。如果,欸有XPath方面的知识,就无法创建XSLT文档
XQuery和XPointer进构建与XPath表达式上。
XPath术语
节点:在XPath中,有七类节点:元素、属性、文本、命名空间、处理指令、注释、以及文档节点(根节点) XML文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。(类似于LINUX文档结构)
例:
<?xml version="1.0" encoding="UTF-8"?>
<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,price元素的父节点
<book>
<title>Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
子节点(children):元素节点可以有零个,一个或者多个子节点。
上面的元素是book的子节点
同胞(sibling):拥有相同父节点。
title,authorprice都是同胞
先辈(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等