XPath使用路径表达式在XML文档中进行导航。 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的。
XPath 标准函数 ,超过100个內建函数
XPath XPath 是 XSLT 标准中的主要元素。如果没有 XPath 方面的知识,您就无法创建 XSLT 文档
XPath 是 W3C 标准
XPath 术语
节点(Node) : 元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点——节点树
基本值(或称原子值,Atomic value) : 无父或无子节点
项目(Item):基本值或者节点
节点关系 : 父元素-parent,子元素-children,同胞(兄弟元素)-sibling,先辈-ancestor,后代-descendant
选取节点 :
表达式 | 描述 | 路径表达式 | 结果 |
---|---|---|---|
nodename | 选取此节点的所有字节点 | bookstores | 选取bookstore的所有子节点 |
/ | 从根节点选取 | /bookstore | 选取根元素bookstores(某元素的结对路径) |
// | 根据所选节点选择文档中的所有节点,而不考虑它们的位置 | //book | 选取所有book子元素,而不管他们在文档中的位置 |
. | 选取当前节点 | ||
.. | 选取当前节点的父节点 | ||
@ | 选取属性 | //@lang | 选取名为lang的所有属性 |
谓语(predicates) : 谓语是用来查找某个特定的节点或者包含某个指定的值的节点 [ ] ,eg1-/bookstore/book[price>35.00]/title
选取未知节点 : * (通配符)–匹配任何元素节点 、@*—匹配任何属性节点、node()匹配任何类型的节点
“|”: 选取若干路径
.XPath轴(轴可以定义相对于当前节点的节点集) : ancestor 、ancestor-or-self 、attribute 、child 、descendant 、descendant-or-self 、following 、namespace 、 parent 、preceding 、preceding-sibling 、self
步包括: 轴(axis) 、 节点测试(node-test) 、 零个或多个谓语(predicate)
- 步的语法 轴名称::节点测试[谓语]
- child::text() 、child::node() 、attribute::* 、child::*/child::price (选取当前节点的所有 price 孙节点。)