XPath是W3C定义的一个规范语言,用于定位XML文档中的某些信息。XPath通常情况下使用在XSLT里,通过XPath表达式(XPath
expression)的形式来定位XML元素。
XPath表达式是一种规范,必须遵循W3C的定义。此外,为了是XPath表达式更容易使用,它还内置了许多函数。
既然XPath是规范的,那么他处理的XML也应该是规范的。它把XML看作是一些节点的树形结构。在学习XPath表达式之前,先说明一些概念。为了方便说明,这里举一个XML文档为例:
|
<?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>
|
1. document node (文档节点/根节点)
就是像<bookstore>这样的节点。
2. element node (元素节点)
像<author>J
K. Rowling</author>这样。
3. attribute node (属性节点)
像lang="en"这样的。
4. atomic value (原子值)
如J K.
Rowling、"en",显然这些节点没有“孩子”也没有“父母”。
节点间的关系:
1. parent (父母)
在上面的XML文档中,<book>就是<title>,<author>等的父母。
2. children (孩子)
与“父母”正好相反,<title>,<author>等节点就是<book>的孩子。
3. sibling (兄弟)
显然,具有相同父母的节点就是兄弟节点,如<title>和<author>。
4. ancestor (祖先)
节点的父母,父母的父母,父母的父母的父母....就叫做该节点的祖先。
5. descendant (后代)
节点的孩子,孩子的孩子,孩子的孩子的孩子....就叫做该节点的后代。
加载中,请稍候......