XPath language

What is XPath?
[To be supplied.]

What is XPath for?
[To be supplied.]

Why XPath?
[To be supplied.]

basic concepts & examples:
/ 根路径
//  相对路径,表示选择文档中所有满足双斜线//之后规则的元素(无论层级关系)
* 代表任意元素 ,
/AAA/BBB/* 表示在AAA元素的BBB子元素下一层的所有元素
/*/*/BBB 在第三层出现的所有BBB元素
//* 所有元素

[1] 进一步指定访问元素,这里是按索引,下标由1开始 ,last()表示最后一个元素

@id id属性名限定, //@id 表示选择所有含有id属性的元素, id可以用*代表,表示任意一个非空字串。
//BBB[@id] 匹配所有含有id属性的BBB元素

not()函数取非, not(@*), 所有不含属性

@id='value' 限定id的值为value

事实上@id本身应该就是表示取值了。

normalize-space(@name)='bbb', 在trim掉值首尾的空格后与'bbb'进行比较。
//*[count(BBB)=2] 选择那些包含2个BBB的子元素的元素
//*[count(*)=2]  选择那些包含两个子元素的元素

name()返回元素名称
//*[name()='BBB'] 按名称查找,这个似乎等价于//BBB ?

start-with(),函数共有两个参数,第一个参数是所判断的字符串,第二个是要求的起始字符串,如果匹配则返回true
//*[start-with(name(),'start'] 选择所有元素名以start开头的元素

contains(), 两个参数,第一个包含第二个时返回true
//*[contains(name(),'middle'] 选择所有元素名包含middle的元素

string-length()返回指定字符串的长度,
//*[string-length(name()) &lt 3 ] &lt替代<, &gt 替代>

多个路径可以使用 | 运算符连接 (或运算,合并结果)

Reference  based on :
http://www.zvon.org/xxl/XPathTutorial/General/examples.html

转载于:https://www.cnblogs.com/jonnyyu/archive/2005/03/08/114713.html

XPath crash course note相关推荐

  1. Linux Kernel Crash Dump note

    how to use crash utility to analyze vmcore files. 内核调试方法 使用crash工具查看定位linux内核崩溃原因: [root@mi_cct vmco ...

  2. iOS- 利用.dSYM和.app文件准确定位Crash位置

    首先,确保在release(Ad Hoc或者App Store)一个版本时,保存了对应的xxx.app和xxx.dSYM文件. 其次,验证xxx.crash.xxx.app和xxx.dSYM三者的uu ...

  3. python爬虫教程网-Python爬虫全集

    一.爬虫入门 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 运用python3.6中的urllib. ...

  4. Appium+python自动化8-Appium Python API

    Appium+python自动化8-Appium Python API 前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts contex ...

  5. jQuery 1.2 带来的兼容问题及对策

    jQuery 1.2 中抛弃了不少之前的功能,因此不能向前兼容,而有不少非官方的 jQuery 插件(比如 thickbox),使用的是 jQuery 1.2 之前的语法开发的,如果这次还未根据新版本 ...

  6. oracle_导致实例逐出的五大问题

      Purpose   Scope   Details   问题 1:警报日志显示 ora-29740 是实例崩溃/驱逐的原因   症状:   可能的原因:   解决方案:   问题 2:警报日志在实 ...

  7. 简书全站爬取 mysql异步保存

    # 简书网 # 数据保存在mysql中; 将selenium+chromedriver集成到scrapy; 整个网站数据爬取 # 抓取ajax数据#爬虫文件 # -*- coding: utf-8 - ...

  8. python爬虫教程-Python爬虫全集

    一.爬虫入门 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本. 运用python3.6中的urllib. ...

  9. 小白学习MySQL - 聊聊数据备份的重要性

    最近某套MySQL数据库服务器异常关机,导致MySQL不能正常拉起来,启动过程中,error日志中记录了如下的信息,可以看到,数据库因为异常关闭,此时会进行实例恢复的操作, [Note] InnoDB ...

最新文章

  1. Google联合OpenAI揭秘神经网络黑箱:AI的智慧,都藏在激活地图里
  2. Python 之 matplotlib (十三) subplot分格显示
  3. 上海day2--两年前最烧脑的环境变量
  4. 多线程顺序消费MySQL数据_关于MQ的几件小事(五)如何保证消息按顺序执行
  5. jQuery Easing 动画效果扩展--使用Easing插件,让你的动画更具美感。
  6. project项目管理案例_福清公司开展Project项目管理软件学习培训活动
  7. java 命名内部类_如何把java SWT程序中的匿名内部类改写成命名内部类?
  8. jquery.cookie中的操作
  9. SCN风波又起,2019年6月之前Oracle必须升级吗?
  10. linux设置php时间,修改 linux 时区时间和 php 时区(示例代码)
  11. 关于CreateWindowEx及自己封装Window类
  12. CentOS搭建git服务器实测
  13. 图书管理系统/库存管理系统等计算机毕业论文设计
  14. 记苹果企业开发者账号申请踩过的坑
  15. 『杭电1726』God’s cutter
  16. 【C语言】写一个斗牛小游戏的发牌器
  17. Large Division-----同余模定理(大数的求余)
  18. js中当等于最小值是让代码不执行_28 个JavaScript编程黑科技,装逼指南,高逼格代码,让你惊叹不已...
  19. 物联网卡设置_物联卡中心:物联网卡这样设置一下上网全程4G,建议收藏!
  20. java throw 什么意思_Java中throw和throws有什么区别?

热门文章

  1. 不明原因的约束报错的两种处理方式
  2. Oracle 归档错误案例
  3. java-分支重载以及构造方法
  4. 利用adb命令查看apk文件包名的一些方法
  5. 框架中解决部分页面返回登录
  6. 【原创】ASP.NET C# 盗取中国银行汇率表
  7. 【收藏】推荐系列:2008年第08期 总10期
  8. python列表方法语句_Python中列表和元组的相关语句和方法讲解
  9. 想学Python,梦雅给你指一条明路!
  10. linux oraclerman自动备份,Linux平台下的Oracle自动备份案例(使用RMAN)