XPath是一种在xml中查找信息的语言,具体可参考W3school XPath教程

XPath是以路径表达式来选择XML文档中的节点或节点集

XPath节点(Node)

在 XPath 中,XML 文档是被作为节点树来对待的,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点。

<?xml version="1.0" encoding="ISO-8859-1"?>

<bookstore>  (文档节点/根节点)

<book>  (元素节点)
<title lang="en">Harry Potter</title> (元素节点,lang为属性节点,Harry Potter为文本节点)
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book> <book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book> </bookstore>

节点关系

父(Parent),子(Children),同胞(sibling),先辈(Ancestor),后代(Descendant)

XPath语法

通过路径表达式来选取节点,语法如下表:

表达式 描述 案例
nodename nodename节点下的所有子节点 bookstore选取bookstore的所有子节点 bookstore/book选取bookstore下的所有book节点
/ 从根节点选取 /bookstore选取根元素 bookstore。 假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!
// 从匹配选择的当前节点选择文档中同样的节点,而不考虑它们的位置 bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。
. 选取当前节点 .book选择当前book节点
.. 选取当前节点的父节点 ..book选取book的父节点bookstore
@ 选取属性 //@lang选取名为lang的所有属性

此外,还可以通过谓语(Predicates)进行更为精准的选择,谓语写在[Predicates]中,例如//title[@lang]则是选择所有拥有名为 lang 的属性的 title 元素。

还可以用*选择未知节点,用逻辑符号|选取若干路径,具体可参考W3school

最新文章

  1. asp.net的快捷实用分页类
  2. 移动端使用让图片或者div垂直居中
  3. 2016 CCPC长春重现赛
  4. 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器
  5. FNV哈希算法
  6. [HDOJ4022]Bombing(离散化+stl)
  7. C语言预处理指令
  8. linux 原生系统发送电子邮件 (在本地与因特网)
  9. 计算BMI
  10. JavaScript获取数组最小值和最大值的方法
  11. java对象引用-要掌握的细节2
  12. 一些常用的linux命令(2)
  13. http协议、模块、express框架以及路由器、中间件和mysql模块
  14. Linux启动/停止/重启Mysql数据库
  15. 分享几个在线生成网址二维码的API接口
  16. AeroSpike踩坑手记1:Architecture of a Real Time Operational DBMS论文导读
  17. dns 安全
  18. 愛與痛的邊緣--IPA--粤语
  19. windows核心编程-互斥器(Mutexes)
  20. 兰亭集势股价疯涨背后:物流成外贸B2C发展掣肘

热门文章

  1. Windows store app[Part 2]:全新的File System与Uri不匹配的问题
  2. TCP中的seq
  3. IIS 发布webservice 需要用户名和密码访问 解决
  4. 使用PowerShell自动部署ASP.NetCore程序到IIS
  5. Linux系统忘记管理员密码(CentOS、RHEL、Ubuntu)
  6. 百度地图API —— 制作多途经点的线路导航
  7. h5聊天工具的开发过程及思路
  8. 2016级算法第一次练习赛-B.朴素的中位数
  9. C#中简单操作Mysql数据库
  10. [摸鱼]cdq分治 &amp;&amp; 学习笔记