XPath语法简介
2024-09-29 11:32:29
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
最新文章
- asp.net的快捷实用分页类
- 移动端使用让图片或者div垂直居中
- 2016 CCPC长春重现赛
- 微信公众号开发之被逼学web服务端1-----使用SecureCRT连接Linux服务器
- FNV哈希算法
- [HDOJ4022]Bombing(离散化+stl)
- C语言预处理指令
- linux 原生系统发送电子邮件 (在本地与因特网)
- 计算BMI
- JavaScript获取数组最小值和最大值的方法
- java对象引用-要掌握的细节2
- 一些常用的linux命令(2)
- http协议、模块、express框架以及路由器、中间件和mysql模块
- Linux启动/停止/重启Mysql数据库
- 分享几个在线生成网址二维码的API接口
- AeroSpike踩坑手记1:Architecture of a Real Time Operational DBMS论文导读
- dns 安全
- 愛與痛的邊緣--IPA--粤语
- windows核心编程-互斥器(Mutexes)
- 兰亭集势股价疯涨背后:物流成外贸B2C发展掣肘
热门文章
- Windows store app[Part 2]:全新的File System与Uri不匹配的问题
- TCP中的seq
- IIS 发布webservice 需要用户名和密码访问 解决
- 使用PowerShell自动部署ASP.NetCore程序到IIS
- Linux系统忘记管理员密码(CentOS、RHEL、Ubuntu)
- 百度地图API —— 制作多途经点的线路导航
- h5聊天工具的开发过程及思路
- 2016级算法第一次练习赛-B.朴素的中位数
- C#中简单操作Mysql数据库
- [摸鱼]cdq分治 &;&; 学习笔记