这个博客中有一系列的例子,不仅有child的例子:http://www.cnblogs.com/zhaozhan/archive/2009/09/10/1563723.html

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 选取当前节点的所有命名空间节点

parent轴是选取当前节点父节点,下面看简单示例:

//DDD/parent::*     获取所有节点DDD的父节点

<AAA>

<BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

/AAA/BBB/parent::*    得到根节点AAA,这样写在实际中没有意义。【 如果BBB后面跟了谓词就有意义了,这种情况是:存在多个BBB节点,但我们想找到某个BBB节点的父节点 】

<AAA>  
     <BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

/AAA/parent::*     根节点无法获取到parent

<AAA>  
     <BBB>  
          <DDD>  
               <CCC>  
                    <DDD/>  
                    <EEE/>  
               </CCC>  
          </DDD>  
     </BBB>  
     <CCC>  
          <DDD>  
               <EEE>  
                    <DDD>  
                         <FFF/>  
                    </DDD>  
               </EEE>  
          </DDD>  
     </CCC>  
  </AAA>

最新文章

  1. 安装.NET Framework进度条卡住不动的解决方案
  2. Java 批量插入数据(Oracle)
  3. 关于 xcode5 真机调试 的 no matching provisioning profiles found
  4. LINUX常用配置及命令
  5. HTTP Status 500 - An exception occurred processing JSP page /WEB-INF
  6. 在WinForm编程中犯的一些错误
  7. Spark Streaming 架构
  8. Sublime Text3一些安装和使用技巧
  9. git 教程 git.oschina.net
  10. windows下实现uboot的tftp下载功能
  11. Amazon S3 API
  12. IOS学习之block代码块
  13. git学习整理(1)git clone 理解
  14. git分支小问题
  15. [记录]一则清理MySQL大表以释放磁盘空间的案例
  16. 小程序 表单 获取 formId
  17. STM32L476RG_中断开发与实列
  18. django 简单路由配置
  19. Elasticsearch中使用groovy脚本处理boolean字段的一个问题
  20. PL/SQL Developer过期解决方法

热门文章

  1. (转)MyBatis框架的学习(五)——一对一关联映射和一对多关联映射
  2. 第八篇:cx_Oracle出现的问题
  3. faster rcnn细节总结
  4. JavaScript中数据类型和typeof返回的数据类型
  5. 一. python基础知识
  6. java在线聊天项目 swt可视化窗口Design 重新设计好友列表窗口 增加菜单栏
  7. linux中复制文件夹的所有文件到指定目录
  8. IntelliJ IDEA 中自定义模板代码的缩写
  9. Linux基础学习-chrony时间同步服务
  10. Immutable 特性