XPath的基本使用
XPath
XPath 使用路径表达式来选取 XML 文档中的节点或节点集。
| 路径表达式 | 结果 | 
| bookstore | 选取 bookstore 元素的所有子节点。 | 
| /bookstore | 选取根元素 bookstore。 注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径! | 
| bookstore/book | 选取属于 bookstore 的子元素的所有 book 元素。 | 
| //book | 选取所有 book 子元素,而不管它们在文档中的位置。 | 
| bookstore//book | 选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。 | 
| //@lang | 选取名为 lang 的所有属性。 | 
| 路径表达式 | 结果 | 
| /bookstore/book[1] | 选取属于 bookstore 子元素的第一个 book 元素。 | 
| /bookstore/book[last()] | 选取属于 bookstore 子元素的最后一个 book 元素。 | 
| /bookstore/book[last()-1] | 选取属于 bookstore 子元素的倒数第二个 book 元素。 | 
| /bookstore/book[position()<3] | 选取最前面的两个属于 bookstore 元素的子元素的 book 元素。 | 
| //title[@lang] | 选取所有拥有名为 lang 的属性的 title 元素。 | 
| //title[@lang='eng'] | 选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。 | 
| /bookstore/book[price>35.00] | 选取 bookstore 元素的所有 book 元素,且其中的 price 元素的值须大于 35.00。 | 
| /bookstore/book[price>35.00]/title | 选取 bookstore 元素中的 book 元素的所有 title 元素,且其中的 price 元素的值须大于 35.00。 | 
| /bookstore/book/price/text() | 选取 price 节点中的所有文本 | 
| 路径表达式 | 结果 | 
| /bookstore/* | 选取 bookstore 元素的所有子元素。 | 
| //* | 选取文档中的所有元素。 | 
| //title[@*] | 选取所有带有属性的 title 元素。 | 
| 路径表达式 | 结果 | 
| //book/title | //book/price | 选取 book 元素的所有 title 和 price 元素。 | 
| //title | //price | 选取文档中的所有 title 和 price 元素。 | 
| /bookstore/book/title | //price | 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。 | 
XPath 轴(Axes)
轴可定义相对于当前节点的节点集。
| 轴名称 | 结果 | 
| ancestor | 选取当前节点的所有先辈(父、祖父等)。 | 
| ancestor-or-self | 选取当前节点的所有先辈(父、祖父等)以及当前节点本身。 | 
| attribute | 选取当前节点的所有属性。 | 
| child | 选取当前节点的所有子元素。 | 
| descendant | 选取当前节点的所有后代元素(子、孙等)。 | 
| descendant-or-self | 选取当前节点的所有后代元素(子、孙等)以及当前节点本身。 | 
| following | 选取文档中当前节点的结束标签之后的所有节点。 | 
| namespace | 选取当前节点的所有命名空间节点。 | 
| parent | 选取当前节点的父节点。 | 
| preceding | 选取文档中当前节点的开始标签之前的所有节点。 | 
| preceding-sibling | 选取当前节点之前的所有同级节点。 | 
| self | 选取当前节点。 | 
XPath的基本使用的更多相关文章
- xpath提取多个标签下的text
		title: xpath提取多个标签下的text author: 青南 date: 2015-01-17 16:01:07 categories: [Python] tags: [xpath,Pyth ... 
- C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子)
		第一次接触HtmlAgilityPack是在5年前,一些意外,让我从技术部门临时调到销售部门,负责建立一些流程和寻找潜在客户,最后在阿里巴巴找到了很多客户信息,非常全面,刚开始是手动复制到Excel, ... 
- 在Java中使用xpath对xml解析
		xpath是一门在xml文档中查找信息的语言.xpath用于在XML文档中通过元素和属性进行导航.它的返回值可能是节点,节点集合,文本,以及节点和文本的混合等.在学习本文档之前应该对XML的节点,元素 ... 
- XPath 学习二: 语法
		XPath 使用路径表达式来选取 XML 文档中的节点或节点集.节点是通过沿着路径 (path) 或者步 (steps) 来选取的. 下面列出了最有用的路径表达式: 表达式 描述 nodename 选 ... 
- xpath 学习一:  节点
		xpath 中,有七种类型的节点: 元素.属性.文本.命名空间.处理指令.注释.以及根节点 树的根成为文档节点或者根节点. 节点关系: Parent, Children, sibling(同胞), A ... 
- Python爬虫利器三之Xpath语法与lxml库的用法
		前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 Beau ... 
- 使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接
		使用python+xpath 获取https://pypi.python.org/pypi/lxml/2.3/的下载链接: 使用requests获取html后,分析html中的标签发现所需要的链接在& ... 
- 关于robotframework,app,appium的xpath定位问题及常用方法
		关于类似的帖子好像很多,但是没有找到具体能帮我解决问题的办法.还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点: 先放一个图: A,先说说不用xpath的场景,一般是用于存在i ... 
- Selenium Xpath Tutorials - Identifying xpath for element with examples to use in selenium
		Xpath in selenium is close to must required. XPath is element locator and you need to provide xpath ... 
- xpath定位中starts-with、contains和text()的用法
		starts-with 顾名思义,匹配一个属性开始位置的关键字 contains 匹配一个属性值中包含的字符串 text() 匹配的是显示文本信息,此处也可以用来做定位用 eg //input[sta ... 
随机推荐
- Lvs原理
			官方文档: http://www.linuxvirtualserver.org/zh/lvs1.html http://www.linuxvirtualserver.org/zh/lvs2.html ... 
- jQuery的常用函数扩展
			(function ($) { /**************************获得URL的参数************************************/ //参数:URL中的参 ... 
- sqlite采用的ORM包
			关注了两个库的使用方式,一个是Dapper,一个是Simple.Data.考虑一个可选的是ORMLite, Dapper和simple.data都比较好用,动态对象的使用妙不可言,区别在于 //Dap ... 
- Android Studio日志工具的使用
			Android Studio的LogCat工具 Verbose:对应Log.v(),这个方法用于打印那些最为琐碎的信息,意义最小的日志信息.是Android日志里面级别最低的一种. Debug:对应L ... 
- [k]自定义样式下拉菜单
			自定义样式下拉菜单-1 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> & ... 
- 【leetcode】Surrounded Regions
			Surrounded Regions Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A ... 
- C#读写SQL Server数据库图片
			效果图: 下载链接: http://download.csdn.net/detail/u010312811/9492402 1.创建一个Winform窗体,窗体分为“数据上传”和“数据读取”两部分: ... 
- <转>VPN技术原理
			原文地址:VPN技术原理 VPN,Virtual Private Network(虚拟专用 网络),被定义为通过一个公用网络(通常是因特网)建立一个临时的.安全的连接,是一条穿过公用网络的安全.稳定的 ... 
- windows hosts
			2015年6月29日 11:10:56 星期一 windows 的 hosts 文件生效机制 以最前边的为准, 重复的硬解析只有第一次出现的地方生效 
- 使用Servlet和jdbc创建用户登录验证
			首先创建一个用户表,用来保存用户名 密码,并插入几条数据 mysql> desc user;+----------+-------------+------+-----+---------+-- ... 
