XML使用技巧:技巧#1 XPath中涉及到的轴

时间:2020-11-25 18:46:06
目录

XML使用技巧:技巧#1 XPath中涉及到的轴

XPath中定义了7种类型的节点,用来区别XML中的不同数据。7种类型的节点分别是文档根节点、元素节点、文本节点、属性节点、处理指令节点、注释节点、命名空间节点。这7种类型的节点都可以作为上下文节点。
solo L
关键词:xpath,self,child,parent,ancestor,descendant,following,preceding,sibling,context node
发布日期:2005年11月26日   更新日期:2005年12月13日

轴表示与上下文节点的关系。

基本的XPath轴

XML使用技巧:技巧#1 XPath中涉及到的轴

轴列表
名称 描述
self 上下文节点本身,例如A1节点
parent 上下文节点的直接父节点,如果存在的话,例如A
child 上下文节点的所有直接子节点,不包括属性节点和命名空间节点,例如A11,A12
ancestor 上下文节点的父节点,祖父节点,...,直到文档根节点,文档根节点的ancestor轴为空节点集,例如A,/
ancestor-or-self 和ancestor相同,只是增加了上下文节点本身,例如A,/,A1
descendant 上下文节点的所有子节点,孙节点,...,不包括属性节点和命名空间节点,例如A11,A12,A121
descendant-or-self 和descendant相同,只是增加了上下文节点,例如A11,A12,A121,A
preceding 上下文节点之前的所有节点,不包括祖先节点,属性节点和命名空间节点
preceding-sibling 上下文节点之前的兄弟节点.如果上下文节点为属性节点或命名空间节点则此轴为空.
following 上下文节点之后的所有节点,不包括后代节点,属性节点和命名空间节点
following-sibling 上下文节点之后的兄弟节点,不包括后代节点,属性节点和命名空间节点
namespace 上下文节点的命名空间节点
attribute 上下文节点的所有属性节点
定位阶

定位阶(Location step)是XPath用来从XML数据中选择节点集的一种结构。它的语法是:axis::node-test[predicate-1]...[predicate-n]。

定位路径

定位路径是由一个或多个定位阶组成,由斜线(/)分隔。一个绝对的定位路径是由/开始且是相对于文档根的。其它的定位路径都是相对路径且是相对于当前节点的。