XPath总结

一、何为XPath

XPath 使用路径表达式来选取 XML 文档中的节点或节点集。节点是通过沿着路径 (path) 或者步 (steps) 来选取的

二、XPath语法

1、语法

表达式 描述
nodename 选取此节点的所有子节点
/ 从根节点选取
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性
contains 包含,模糊匹配
* 选取所有节点
|

2、实例

路径表达式 结果
//book/page 选取根目录下所有book标签中的page标签
//book[@name='hong'] 选取根目录下所有name属性是hong的book标签
//*[@name='key'] 选取根目录下所有name属性是key的任意标签
//*[@name,'key_'] 选取根目录下所有name属性包含key的任意标签
//*[@id="author"]/a[3] 选取根目录下所有id属性是author的任意标签下子标签中的第3个a标签
//title[@*] 选取所有带有属性的 title 元素
//title | //price 选取文档中的所有 title 和 price 元素。

三、XPath轴

定义所选节点与当前节点之间的树关系

1、XPath轴语法

轴名称::节点测试[谓语]
轴名称 结果
ancestor 选取当前节点的所有先辈(父、祖父等)
ancestor-or-self 选取当前节点的所有先辈(父、祖父等)以及当前节点本身
attribute 选取当前节点的所有属性
child 选取当前节点的所有子元素
descendant 选取当前节点的所有后代元素(子、孙等)
descendant-or-self 选取当前节点的所有后代元素(子、孙等)以及当前节点本身
following 选取文档中当前节点的结束标签之后的所有节点
namespace 选取当前节点的所有命名空间节点
parent 选取当前节点的父节点
preceding 选取文档中当前节点的开始标签之前的所有节点
preceding-sibling 选取当前节点之前的所有同级节点
self 选取当前节点

2、XPath轴实例

例子 结果
child::book 选取所有属于当前节点的子元素的 book 节点
attribute::lang 选取当前节点的 lang 属性
child:

最新文章

  1. Java内部类final语义实现
  2. Default Title
  3. 淘宝(阿里百川)手机客户端开发日记第十篇 阿里百川服务器环境介绍之API文档的快速链接(四)
  4. Objective-C中常用的结构体NSRange,NSPoint,NSSize(CGSize),NSRect
  5. 修改tomcat小猫图标
  6. R语言串行与并行Apply用法
  7. 【转】C++ function、bind以及lamda表达式
  8. TDirectory.GetAttributes、TDirectory.SetAttributes获取和设置文件夹属性
  9. 【笔记】Unix 平台标准
  10. LinuxCmd
  11. ubuntu下使用charles代理
  12. vivado License导入方法与资源获取
  13. hibernate核心类及常用方法
  14. Web从入门到放弃<4>
  15. [转帖]Linux的标准输入 标准输出和错误输出
  16. 【XSY2718】gift 分数规划 网络流
  17. py库:文本转为语音(pywin32、pyttsx)
  18. php对文件的操作
  19. deeplearningbook-chinese
  20. IOS的唯一标识符问题(转)

热门文章

  1. 06-File-文件
  2. JQ的简单使用(基础)——————JQ
  3. ubuntu下载地址
  4. springboot框架中的各种 注解
  5. 【leetcode】1026. Maximum Difference Between Node and Ancestor
  6. 微信小程序-没有找到 node_modules 目录的解决办法
  7. HashMap的几种遍历方式(转载)
  8. JDK1.8 红黑树
  9. EXP-00091和IMP-00010报错
  10. [WC2012]记忆中的水杉树