XPath基础

Xpath基础


xpath(XML Path Language)是一门在XML和HTML文档中查找信息的语言,可用来在XML和HTML文档中对元素和属性进行遍历。
在这里插入图片描述


选取节点

首先明确一点,XPath是基于文档树来查找元素的,其根是document

  1. 元素名:选取所有的指定元素节点,比如//div,选取所有的div标签
  2. /:选取当前节点的直接的指定子节点,比如/html,选取documenthtml子节点
  3. //:选取当前节点下所有的指定节点,如//div//a,选取所有的div下所有的a标签
  4. @:选取所有的指定属性节点(返回的是属性值,而非元素),如//@charset,选取所有的charset属性
  5. text():选取当前节点里的文本内容
  6. .:选取当前节点

谓词

使用中括号[]可以在选取的节点里加一些条件,从而选出满足条件的节点

  1. [n]:选取作为第n个孩子的节点,比如://body/div[1]选取body下的第一个div子节点,注意://div[1]表示选取所有div里作为第1个孩子的div,所有会有很多个,要谨慎与//搭配,下面几个选位置的同理
  2. [last()]:选取作为最后一个孩子的节点,比如//body/div[last()]
  3. [position()<n]:选取作为小于n的孩子的节点,比如//body/div[position()<3],表示选择body下前两个div子节点
  4. [@属性]:选取包含指定属性的节点,常与选取属性节点搭配,如//div[@class],表示选取所有div里,包含class属性的节点
  5. [@属性=x]:选取指定属性值为x的节点,如//div[@id=xyz],表示选取所有divid=xyz的节点
  6. [contains(@属性,x)]:选取指定属性值包括x的节点,如//div[contains(@class,'x')]选取div中class属性值里包含x的节点

通配符

*,表示通配符,即所有名字匹配,如//div/*,表示div下所有的子节点,再如//div[@*],表示拥有任意属性的div


运算符

常用如下

|(并)  or  and  +  -  *  div(除法)  =(等于)  !=  <  <=  >  >=  mod(求余)

比如:

//a | //span  (所有的a标签和span标签)
//div[@id=a and @class=b]   (id=a并且class=b的div)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值