您的位置:首页 > 其它

XPath学习:轴(14)——总结

2009-09-10 22:58 239 查看
XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。

XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。

推荐一个挺不错的网站:http://www.zvon.org/xxl/XPathTutorial/General_chi/examples.html 里面有很不错的例子,下面的例子中红色字体表示使用对 应语法获取的元素(或属性)。

XPath轴(XPath Axes)可定义某个相对于当前节点的节点集:

1、child 选取当前节点的所有子元素

2、parent 选取当前节点的父节点

3、descendant 选取当前节点的所有后代元素(子、孙等)

4、ancestor 选取当前节点的所有先辈(父、祖父等)

5、descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身

6、ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身

7、preceding-sibling 选取当前节点之前的所有同级节点

8、following-sibling 选取当前节点之后的所有同级节点

9、preceding 选取文档中当前节点的开始标签之前的所有节点

10、following 选取文档中当前节点的结束标签之后的所有节点

11、self 选取当前节点

12、attribute 选取当前节点的所有属性

13、namespace 选取当前节点的所有命名空间节点

XPath轴指定上下文的节点和要选择节点的关系。ancestor, descendant, following, preceding 和self轴(axis)分割了XML文档(忽略属性节点和命名空间节点), 不能交迭,

//GGG/ancestor::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>

//GGG/descendant::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>

//GGG/preceding::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>

//GGG/following::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>

//GGG/self::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>

//GGG/ancestor::* | //GGG/descendant::* | //GGG/following::* | //GGG/preceding::* | //GGG/self::*

<AAA>

<BBB>

<CCC/>

<ZZZ/>

</BBB>

<XXX>

<DDD>

<EEE/>

<FFF>

<HHH/>

<GGG>

<JJJ>

<QQQ/>

</JJJ>

<JJJ/>

</GGG>

<HHH/>

</FFF>

</DDD>

</XXX>

<CCC>

<DDD/>

</CCC>

</AAA>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: