目录 |
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轴 轴列表名称 | 描述 |
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]。
定位路径定位路径是由一个或多个定位阶组成,由斜线(/)分隔。一个绝对的定位路径是由/开始且是相对于文档根的。其它的定位路径都是相对路径且是相对于当前节点的。