jsoup select 通过属性选择器选择内容,索引值选择
来源:互联网 发布:ubuntu安装语言包命令 编辑:程序博客网 时间:2024/06/02 01:05
jsoup属性选择器跟jquery的写法一致。
1.在 QueryParser类中有定义的属性匹配规则 private static final String[] AttributeEvals = new String[]{"=", "!=", "^=", "$=", "*=", "~="}
调用select方法的时候,写法还是有点区别的
select("body > div[class*='top']")
在匹配的时候,"=", "!=", "^=", "$=", "*=", 会忽略[class*='xx']中的单引号或者反斜杠,也就是可以正确匹配
public abstract static class AttributeKeyPair extends Evaluator {
String key;
String value;
public AttributeKeyPair(String key, String value) {
Validate.notEmpty(key);
Validate.notEmpty(value);
this.key = key.trim().toLowerCase();
if (value.startsWith("\"") && value.endsWith("\"")
|| value.startsWith("'") && value.endsWith("'")) {
value = value.substring(1, value.length()-1);
}
this.value = value.trim().toLowerCase();
}
}
只有"~=",不会忽略[class~=‘xx’]中的单引号或者反斜杠。再用它写正则表达式的时候一定要注意不要多写单引号。
public AttributeWithValueMatching(String key, Pattern pattern) {
this.key = key.trim().toLowerCase();
this.pattern = pattern;
}
2.Jsoup中的:lt(),:gt(),:eq(),:nth-child()等通过索引来选取元素,索引值都是它所在同级元素中索引位置,只有nth-child索引从1开始,其他的从0开始
以EQ的源码为示例:
public static final class IndexEquals extends IndexEvaluator {
public IndexEquals(int index) {
super(index);
}
@Override
public boolean matches(Element root, Element element) {
return element.elementSiblingIndex() == index;
}
@Override
public String toString() {
return String.format(":eq(%d)", index);
}
}
- jsoup select 通过属性选择器选择内容,索引值选择
- Jsoup选择器选择的class有多个属性的写法
- jquery选择器选择select
- Jquery内容选择器选择元素
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- jsoup select 选择器
- Jsoup select 选择器
- Jsoup的select选择器
- jsoup select 选择器
- jsoup的select选择器
- jsoup select 选择器
- jsoup select 选择器
- Scala中Lists对象的使用
- Linux特殊权限之粘滞位
- IDEA + Maven + Git 快速开发 Web 应用
- mvn install 报错error in opening zip file
- 搭建Spring开发环境
- jsoup select 通过属性选择器选择内容,索引值选择
- unity3dのレイについての勉強
- C++11 bind函数
- 4.13
- js原生DOM对象与jQuery对象不是一回事儿,区别联系相互转换,踩坑经历
- 小米手机上屏蔽复制粘贴功能
- C# WinForm开发系列之DataGridView部分属性总结和图片资源的引用方式
- React Native 中组件的生命周期
- Linux初级学习之不同系统之间的文件传输 第十二章学习笔记