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语法笔记的更多相关文章

  1. Python爬虫:Xpath语法笔记

    一.选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath(‘//div’) 选取了div节点的所有子节点 / 从根节点选取 xpat ...

  2. XPath语法使用的一些心得

    XPath语法还是很强大的,支持一些函数和操作符,方便操作,但是因为版本的原因可能有的函数只能在XPath2(2007)里使用,而不能在XPath1(1999)中使用,比如函数 ends-with(s ...

  3. Python爬虫利器三之Xpath语法与lxml库的用法

    前面我们介绍了 BeautifulSoup 的用法,这个已经是非常强大的库了,不过还有一些比较流行的解析库,例如 lxml,使用的是 Xpath 语法,同样是效率比较高的解析方法.如果大家对 Beau ...

  4. SQL基础语法笔记教程整理

    PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...

  5. XPath语法 在C#中使用XPath示例 【转http://www.cnblogs.com/yukaizhao/archive/2011/07/25/xpath.html】非常详细的文章

    XPath语法 在C#中使用XPath示例   XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml ve ...

  6. XPath语法 在C#中使用XPath示例

    XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: <?xml version="1.0" en ...

  7. Dom4j使用Xpath语法读取xml节点

    我们可以使用Xpath的语法来轻易的读取xml的某个节点[类似于jQuery的选择器]: 使用Xpath语法需要添加新的jaxen-1.1-beta-7.rar 这个jar包 dom4j完整jar包我 ...

  8. XDocument读取xml的所有元素以及XPath语法

    原文  http://www.cnblogs.com/xxyishutong/p/3326375.html <?xml version="1.0" encoding=&quo ...

  9. C#操作Xml:XPath语法 在C#中使用XPath示例

    XPath可以快速定位到Xml中的节点或者属性.XPath语法很简单,但是强大够用,它也是使用xslt的基础知识. 示例Xml: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

随机推荐

  1. 【备忘】ASP.NET MVC 5 升级到 ASP.NET Core MVC 的部分变化

    正在将一个 .net 4.5 的项目(MVC 5)升级到 .net core 2.1,中间遇到了许多的修改,记在下面,帮大家少走弯路. System.Drawing 下面很多类已经不存在(如Bitma ...

  2. 使用Nginx+Uwsgi部署Python Flask项目

    第一次用Flask做Web(也是第一次用Python做Web),在部署的时候遇到了不少问题,现在将过程就下来,供在这方面也有疑惑的人参考.(PS:使用Apache+mod_wsgi部署模式的可以参考另 ...

  3. JMH实践-代码性能测试工具

    概述 JMH,即Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件 JMH比较典型的应用场景有: 想准确的知道某个方法需要执行多长时间,以及执行时间和输入之间的 ...

  4. 【Spark调优】小表join大表数据倾斜解决方案

    [使用场景] 对RDD使用join类操作,或者是在Spark SQL中使用join语句时,而且join操作中的一个RDD或表的数据量比较小(例如几百MB或者1~2GB),比较适用此方案. [解决方案] ...

  5. CSS3 Gradient 渐变还能这么玩

    浏览器支持两种类型的渐变:线性渐变 (linear-gradient),径向渐变 (radial-gradient) 渐变在 CSS 中属于一种 Image 类型,可以结合 background-im ...

  6. 阿里启动新项目:Nacos,比 Eureka 更强!

    什么是 Nacos? Nacos 是阿里巴巴推出来的一个新开源项目,这是一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提 ...

  7. 【shiro】(4)---Shiro认证、授权案例讲解

    Shiro认证.授权案例讲解 一.认证  1. 认证流程     2.用户密码已经加密.加盐的用户认证 (1)测试类 // 用户登陆和退出,这里我自定了一个realm(开发肯定需要自定义realm获取 ...

  8. sql server 索引阐述系列三 表的堆组织

    一.   概述 这一节来详细介绍堆组织,通过讲解堆的结构,堆与非聚集索引的关系,堆的应用场景,堆与聚集索引的存储空间占用,堆的页拆分现象,最后堆的使用建议 ,这几个维度来描述堆组织.在sqlserve ...

  9. DotNetCore深入了解之一Startup类

    一个典型的ASP.NET Core应用程序会包含Program与Startup两个文件.Program类中有应用程序的入口方法Main,其中的处理逻辑通常是创建一个WebHostBuilder,再生成 ...

  10. 安装mono和monoDevelop开发环境

    我之前用的是Ubuntu10.12版本的linux,一直被软件更新包困扰,总是保存缺少依赖包的问题!总之在网络上找到的软件更新包地址都不能解决问题.后来就用了比较新的TLS版本Ubuntu14.04. ...