xpath语法笔记
xpath是在xml文档中查找信息的语言, 其语法整理如下:
div | div下的所有子节点 |
/div | 根节点下的div |
//div | 匹配所有的div |
. | 当前节点 |
.. | 父节点 |
@lang | 属性为lang的所有节点 |
div[1] | 选取第一个节点 |
div[last()] | 选取最后一个节点 |
div[last()-1] | 选取倒数第二个节点 |
div[positon()<3] | 选取前两个节点 |
div[@lang] | 选取有lang属性的节点 |
div[@lang='eng'] | 选取lang属性值为eng的节点 |
div[price>35.00] | 选取price属性大于35的节点 |
* | 所有节点 |
@* | 任何属性 |
| | 可以选取多个路径,用 | 隔开 |
/ | 连接路径选择 |
./ancestor::* | 当前节点的所有先辈节点(父节点,祖父节点) |
./ancestor-or-self::* | 当前节点的所有先辈节点(父节点,祖父节点)及本身 |
./attribute::* | 选取当前节点的所有属性 |
./child::* | 当前节点的所有子节点 |
./descendant::* | 当前节点的所有后代节点(子节点、孙节点) |
./following::* | 选取文档中当前节点结束标签后的所有节点 |
./following-sibling::* | 选取当前节点之后的兄弟节点 |
./parent::* | 选取当前节点的父节点 |
./preceding::* | 选取文档中当前节点开始标签前的所有节点 |
./preceding-sibling::* | 选取当前节点之前的兄弟节点 |
./self::* | 选取当前节点 |
text() | 节点文本 |
contains(@id,"ma") | 选取id属性包含 ma 的节点(div[contains(@id, ""ma)]) |
starts-with(@id,"ma") | 选取id属性以 ma 开头的节点(div[starts-with(@id, ""ma)]) |
xpath语法笔记的更多相关文章
- Python爬虫:Xpath语法笔记
一.选取节点 常用的路劲表达式: 表达式 描述 实例 nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpat ...
- XPath语法使用的一些心得
XPath语法还是很强大的,支持一些函数和操作符,方便操作,但是因为版本的原因可能有的函数只能在XPath2(2007)里使用,而不能在XPath1(1999)中使用,比如函数 ends-with(s ...
- Python爬虫利器三之Xpath语法与lxml库的用法
前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 Beau ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- XPath语法 在C#中使用XPath示例 【转http://www.cnblogs.com/yukaizhao/archive/2011/07/25/xpath.html】非常详细的文章
XPath语法 在C#中使用XPath示例 XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml ve ...
- XPath语法 在C#中使用XPath示例
XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" en ...
- Dom4j使用Xpath语法读取xml节点
我们可以使用Xpath的语法来轻易的读取xml的某个节点[类似于jQuery的选择器]: 使用Xpath语法需要添加新的jaxen-1.1-beta-7.rar 这个jar包 dom4j完整jar包我 ...
- XDocument读取xml的所有元素以及XPath语法
原文 http://www.cnblogs.com/xxyishutong/p/3326375.html <?xml version="1.0" encoding=&quo ...
- C#操作Xml:XPath语法 在C#中使用XPath示例
XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
随机推荐
- [翻译] Visual Studio 2019 RC版发布
[翻译] Visual Studio 2019 RC版发布 原文: Visual Studio 2019 Release Candidate (RC) now available 今天,我们将分享 V ...
- 使用yeoman搭建脚手架并发布到npm
前言 最近主要在写前端的模板类项目,由于其中的webpack配置和引进数据注入ejs模板的方法大同小异,所以萌发出把该模板框架提取出来作为一个常用的脚手架,也方便以后同事可以进行复用. 之前在看< ...
- ubuntu16.04 下鼠标变成十字形状无法点击情况解决
出现这种问题的原因是把shell命令行终端当成了python环境,误输入了"import"命令. (当然如果你真的希望在shell中输入import指令除外...) 我自己想当然的 ...
- 【app】Appium-desktop界面介绍
在appium主界面的host输入127.0.0.1 然后点击Start Server即可开启appium server 我们来说说advanced选项 Server Address: 为appium ...
- onload事件与ready事件的区别,原生js与jquery的区别
onload事件与ready事件分别是原生js与jquery的入口函数 原生js入口函数写法: window.onload=function(){ } jquery入口函数写法: $(document ...
- iview导航菜单updateOpened和updateActiveName的使用
先看官方文档: iview导航菜单 这里主要遇到的问题有两个: 1. 点击回到首页(B按钮)时需要取消选中当前选中的菜单项(全部不选中),这里用到的是 updateActiveName方法 2. 点击 ...
- [EXP]windows全版本SMB溢出工具加强版
工具:k8加强版zzz 编译:python 漏洞:MS17-010 用法: zzz_exploit.exe 192.11.22.82zzz_exploit.exe 192.11.22.82 exe参数 ...
- ASCII码字符串普通加密解密-android
//android后台Java //ASCII加密 String str = e.getText().toString(); StringBuilder s = new StringBuilder() ...
- 冒泡 MS Azure 不便宜。。。
一直在等 MS Azure 中国开卖, 最近有消息说正式商用了... 看看去,ok 发现官方网站 很奇葩.没有购买的地方 说毛线 啊 卧槽 欺骗感情还是吊人胃口? 好看了一下VM的价格,卧槽真不便宜. ...
- ionic3项目 出现 No provider for ApplicationInitStatus!
出现No provider for ApplicationInitStatus!原因是在app.module.ts文件忘记导入BrowserModule导致的,打开app.module.ts文件添加以 ...