Xpath语法学习记录

 

 

高级参考:https://blog.csdn.net/wudaoshihun/article/details/82226122

举例:

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="utf-8">
 5         <title></title>
 6     </head>
 7     <body>
 8         <div class="bookstore">
 9             <div class="book">
10                 <p class="title">张三</p>
11                 <p class="price">29.9</p>
12                 <p><a href="https://www.baidu.com">百度一下</a></p>
13                 
14             </div>
15             <div class="book1">
16                 <p class="title">李四</p>
17                 <p class="price">36.9</p>
18                 <p><a href="https://www.jd.com">京东</a></p>
19                 
20             </div>
21             <div class="book2">
22                 <p class="title1" a="a">王五</p>
23                 <p class="price1">30</p>
24                 <p><a href="https://www.taobao.com">淘宝</a></p>
25             </div>
26             
27         </div>
28     </body>
29 </html>
30 

 

选取节点:

/       ......从根节点选取。

----->>:    /html/body/div/div/p----->>:张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝

 

//      ......从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。

----->>:    //p----->>:张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝

 

@       ......选取属性。

----->>:   /html/body/div/div/p[@class='title']----->>:张三----->>:  /html/body/div[@class='bookstore']/div[@class='book']/p----->>:张三
29.9
百度一下

 

 

谓语

选取元素:

选取属于 子元素的第一个元素:/html/body/div[@class='bookstore']/div[@class='book']/p[1]--->>张三选取属于 子元素的最后一个  元素:/html/body/div[@class='bookstore']/div[@class='book']/p[last()]
--->>百度一下选取属于子元素的倒数第二个元素:/html/body/div[@class='bookstore']/div[@class='book']/p[last()-2]
--->> 张三选取最前面的两个属于元素的子元素的元素:/html/body/div[@class='bookstore']/div[@class='book']/p[position()<3]
--->>张三29.9/html/body/div[@class='bookstore']/div[@class='book']/p[position()<2]
--->>张三

属性选择:

选取所有拥有属性的 title 元素://p[@class="price"]
--->>29.936.9选取所有p>30的元素//div[p>30]
--->>李四36.9京东选取元素,且其中的 price 元素的值须大于 30:/html/body/div/div[p>30]/p[@class="price"]
--->>36.9

 

选取多个

选取所有 title 和 price 元素。//p[@class ="price"]|//p[@class ="title"]
--->>
29.9
36.9
张三
李四
选取 book1、book2 元素的 class 元素//div[@class = "book"]/p|//div[@class = "book1"]/p --->> 张三 29.9 百度一下 李四 36.9 京东

 

转载于:https://www.cnblogs.com/moguxican/p/11153803.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/410837.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[html] 可替换元素和不可替换元素有什么不同的特点?

[html] 可替换元素和不可替换元素有什么不同的特点&#xff1f; 可替换元素的内容由元素的某些属性的值决定不可替换元素的内容由子节点的内容决定个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目…

Linux循环登录怎么解决,文本模式循环登录! 求解决

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼的确只有/etc/bash.bashrc。。/etc/bash.bashrc:[ -z "$PS1" ] && returnshopt -s checkwinsizeif [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; thendebian_chroot$(cat /etc/deb…

Sharepoint 2010新体验之一-----基于Claims的全新验证机制

在SharePoint Server 2007中世界中&#xff0c;如果我们想在一个Web应用程序中并存多种验证机制&#xff0c;只能通过“扩展Web应用程序”来实现&#xff0c;这种方式实现上是通过不同的应用程序来交互同一内容数据库。但是在SharePoint 2010中&#xff0c;我们看到了新的身份验…

[html] 写一个三栏布局,两边固定,中间自适应

[html] 写一个三栏布局&#xff0c;两边固定&#xff0c;中间自适应 position marginfloat marginflex个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

手写springmvc

手写springmvc 既然已经手写了spring的IOC&#xff0c;那springmvc肯定也要尝试写写了。手写spring博客:https://www.cnblogs.com/xiaojiesir/p/11139203.html SpringMVC的运行流程&#xff1a; &#xff08;1&#xff09;首先浏览器发送请求——>DispatcherServlet&#xf…

[html] 页面需要支持多语言,如果是你该怎么做?

[html] 页面需要支持多语言&#xff0c;如果是你该怎么做&#xff1f; 有多语言选项利用i18n来适配多语言个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

工厂方法

工厂方法特点&#xff1a;将对象的创建放在工厂类中&#xff0c;利用抽象原理&#xff0c;将实例化行为延迟到工厂类中 using System;using System.Collections.Generic;using System.Text; namespace OOAD_FactoryMethod{ class Program { static void Main(stri…

centos7安装svn客户端和使用

rpm -qa subversion yum remove -y subversion yum install -y subversion svnserve --version svn checkout http://xxx.xx.xx/xx转载于:https://www.cnblogs.com/lihan829/p/11154631.html

linux可用机场客户端,Linux系统可用的6款Bittorrent客户端

大家都知道迅雷目前尚不支持Linux系统&#xff0c;其实使用Bittorrent客户端进行下载未尝不是一个好的选择&#xff0c;这里给大家介绍6款Linux可用Bittorrent客户端&#xff0c;方便经常需要进行文件下载的Linux用户。1.KtorrentKtorrent是KDE桌面环境默认安装的Bittorrent工具…

linux中resize的含义,linux的resize2fs命令

Linux下的resize2fs命令被用来增大或收缩未加载的文件系统的大小。下面由学习啦小编为大家整理了linux下resize2fs命令的相关知识&#xff0c;希望对大家有帮助!linux的resize2fs命令详解文件系统管理 resize2fs命令被用来增大或者收缩未加载的“ext2/ext3”文件系统的大小。如…

C#理论知识

override&#xff1a;要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现&#xff0c;必须使用 override 修饰符。重写的基方法必须是 virtual、abstract 或 override 的。override 声明不能更改 virtual 方法的可访问性。 override 方法和 virtual 方法必须具有相…

H3C 环路避免机制一:路由毒化

转载于:https://www.cnblogs.com/fanweisheng/p/11156838.html

c语言循环字符,字符串 非暴力for循环法(内附C语言代码)

对于长度为5位的一个01串&#xff0c;每一位都可能是0或1&#xff0c;一共有32种可能。它们的前几个是&#xff1a;0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。输出格式输出32行&#xff0c;按从小到大的顺序每行一个长度为5的01串。…

.net自定义控件Control、WebControl、CompositeControl

.net自定义控件Control、WebControl、CompositeControl 一、呈现方法 1、Control主要有以下4个方法用于呈现 1 //该方法为入口方法2 public virtual void RenderControl (HtmlTextWriter writer) 3 { 4 this.RenderControl(writer,this.xxxAdapter); 5 } 6 7 p…

[html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?

[html] const nums1 [1, 2, 2, 1], nums2 [2] 交集是什么&#xff1f; let a [1, 2, 2, 1]; let b [2]; let aSet new Set(a); let bSet new Set(b);let intersection Array.from(new Set(a.filter(v > bSet.has(v)))) console.log(intersection); // [2]个人简介 …

About Me

&#xff08;参考Matirx67大牛的格式&#xff09; 网名&#xff1a;Sephiroth Lee 年龄&#xff1a;不会算 生日&#xff1a;1994-1-20 性别&#xff1a;男 血型&#xff1a;不知道 星座&#xff1a;摩羯座 家乡&#xff1a;河北 学校&#xff1a;衡水中学 地址&#xff1a;衡水…

三星ARM

http://www.samsung.com/global/business/semiconductor/mobilesocProductDown.do?userIdtechinfinicores.com转载于:https://www.cnblogs.com/zd_ad/archive/2010/11/16/1878238.html

Java中连接池

最近在看书&#xff0c;其中有一段是&#xff1a; 相信有大佬已经能看得出来这是《企业IT架构转型之道》这本书了&#xff08;这是一本不错的书&#xff0c;推荐工作时长>2年的软件人员可以看看&#xff09;~~ 对于红色框内的那段文字&#xff0c;我有两个概念不是很明白&am…

C语言中 用选择结构编译算法,C语言程序设计立体化教程(高等教育立体化精品系列规划教材)...

导语内容提要李刚、唐炜主编的《C语言程序设计立体化教程(高等教育立体化精品系列规划教材)》主要分为四篇&#xff1a;语法基础篇、程序设计结构篇、初级应用篇和高级应用篇&#xff1b;其中第一篇语法基础部分介绍了C语言概述和C语言数据与运算&#xff1b;第二篇程序设计结构…

第二次实验报告(漏)

C程序设计实验报告 实验项目&#xff1a; 1.if语句的应用2.switch/case语句的应用3.switch/case语句嵌套if语句的应用4.switch/case结构的嵌套应用5.分析程序 姓名&#xff1a;王治林   实验地点&#xff1a;514教室   实验时间&#xff1a;2019.4.3 一、实验目的与要求 …