XPath 快速入门
- XPath 是一门在 xml 文档中查找信息的语言.
- XPath 使用路径表达式来选取 xml 文档中的节点或者节点集合. 路径表达式由元素和属性组成.
- 语法介绍
// 示例:
// xml 文档
<?xml version="1.0" encoding="gbk"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>30</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>40</price>
</book>
</bookstore>
// 选取节点
// 第一种形式:
"/bookstore" 表示选取根元素 bookstore
"/bookstore/book" 选取属于 bookstore 的子元素的所有 book 元素
// 第二种形式:
"//book" 表示选取所有 book 子元素, 不管它们在文档中的位置
// 第三种形式:
"/bookstore/*" 表示选取 bookstore 元素的所有子元素
"//*" 表去选取文档中的所有元素
// 第四种形式:
"/bookstore/book[1]" 表示选取属于 bookstore 子元素的第一个 book 元素
"/bookstore/book[last()]" 表示选取属于 bookstore 子元素的最后一个 book 元素
// 第五种形式:
"//title[@lang]" 选取所有标签中拥有名为 lang 属性的 title 元素
"//title[@lang='eng']" 选取 lang 属性为 eng 的 title 标签
"/bookstore/book[price>35]" 选取 bookstore 的所有 book 子元素, 且 price 值大于 35
**参考资料**
- JavaWeb [视频教程](https://www.bilibili.com/video/av12750191/#page=14)
- W3Scholl XPath [教程](http://www.w3school.com.cn/xpath/index.asp)
XPath 快速入门的更多相关文章
- 【待考察】Appium使用技巧,助你快速入门移动端自动化!
Appium使用技巧,助你快速入门移动端自动化! 原创: 柠檬班superman 柠檬班软件测试 1月4日 关注并置顶[柠檬班]的小哥哥小姐姐 “猪”年行大运 说说最近研究移动端的自动化 移动端的自动 ...
- 隐式等待-----Selenium快速入门(九)
有时候,网页未加载完成,或加载失败,但是我们后续的代码就已经开始查找页面上的元素了,这通常将导致查找元素失败.在本系列Selenium窗口切换-----Selenium快速入门(六)中,我们就已经出现 ...
- Hadoop生态圈-Hive快速入门篇之HQL的基础语法
Hadoop生态圈-Hive快速入门篇之HQL的基础语法 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客的重点是介绍Hive中常见的数据类型,DDL数据定义,DML数据操作 ...
- Scrapy框架-scrapy框架快速入门
1.安装和文档 安装:通过pip install scrapy即可安装. Scrapy官方文档:http://doc.scrapy.org/en/latest Scrapy中文文档:http://sc ...
- 【Activiti工作流引擎】官方快速入门demo
Activiti官方快速入门demo 地址: https://www.activiti.org/quick-start 0. 版本 activiti 5.22.0 JDK 1.8 1. 介绍 这个快速 ...
- Scrapy爬虫快速入门
安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...
- Schema的快速入门
Schema的快速入门 如果是简单元素直接 <element name="" type=""></element> Schema开发过 ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
随机推荐
- Android Studio公布到Jcenter
1.前言 拥抱开源.热爱开源,将我们觉得不错的代码开源到gihtub.将我们的库公布到jcenter\mevan等. 2.准备工作 2.1 准备 申请仓库账号 注意model为android libr ...
- atitit.http get post的原理以及框架实现java php
atitit.http get post的原理以及框架实现java php 1. 相关的设置 1 1.1. urlencode 1 1.2. 输出流的编码 1 1.3. 图片,文件的post 1 2. ...
- Atitit.ati orm的设计and架构总结 适用于java c# php版
Atitit.ati orm的设计and架构总结 适用于java c# php版 1. Orm的目标1 1.1. 动态obj1 1.2. Hb的api(meger,save,update,del)1 ...
- ping: icmp open socket: Operation not permitted 的解决办法
ping: icmp open socket: Operation not permitted 的解决办法:为ping加上suid即可.报错时ping的属性: [root@localhost ~]# ...
- NiftyNet 项目了解
1. NiftyNet项目概述 NiftyNet项目对tensorflow进行了比较好的封装,实现了一整套的DeepLearning流程.将数据加载.模型加载,网络结构定义等进行了很好的分离,抽象封装 ...
- Powershell分支条件
Where-Object 进行条件判断很方便,如果在判断后执行很多代码可以使用IF-ELSEIF-ELSE语句.语句模板: If(条件满足){如果条件满足就执行代码}Else{如果条件不满足}条件判断 ...
- 如何查看VisualStudio的编译, 链接命令
VisualStudio默认是不显示编译命令的,如何查看呢. 对于链接器: 项目属性 -> 配置属性 -> 链接器 -> 常规 -> 显示进度 -> 设为 "/ ...
- Dijkstra普通算法及优先队列优化
#include<stdio.h> #include<iostream> #define maxv 100 #define inf 0x3fffffff using names ...
- try...except...后中断程序继续运行
今天遇到一个问题,本来是以前已经了解过的,但是忘了,现在又想起来了,还是记一下 try...except...当except抓到异常后程序会继续运行 但是个人感觉抓到异常后都是终止程序的吧...可能也 ...
- ECMall 中URL体系的改造思路
EC系列的产品都已停止更新很久了,但其对中国中小电商企业的影响无疑是巨大的.很多公司,都是直接拿来即改,改了即用. 但他们都有个问题,代码是比较传统的开发模式过来的,尤其ecshop.ECMall系统 ...