XMLPath \ XML 路径 语法
节点的关系:
父(Parent)
子(Children)
同胞(Sibling)
先辈(Ancestor)
后代(Descendant)
路径表达式
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
谓语(Predicates)
谓语被嵌在方括号中。
/bookstore/book[1]
/bookstore/book[last()]
/bookstore/book[price<10]
例如:查找 book 标签中属性 id 为 my 的节点,应写成 /bookstore/book[@id='my']
通配符
* 匹配任何元素节点
@* 匹配任何属性节点
node() 匹配任何类型的节点
XPath 轴
ancestor 选取当前节点的所有先辈(父、祖父等)
ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
attribute 选取当前节点的所有属性
child 选取当前节点的所有子元素。
descendant 选取当前节点的所有后代元素(子、孙等)。
descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。
following 选取文档中当前节点的结束标签之后的所有节点。
namespace 选取当前节点的所有命名空间节点
parent 选取当前节点的父节点。
preceding 选取文档中当前节点的开始标签之前的所有节点。
preceding-sibling 选取当前节点之前的所有同级节点。
self 选取当前节点。