jsoup 选择器(一)常规选择器
2016-04-19 16:56
585 查看
jsoup 选择器(一)常规选择器
一 简单选择器
1.ID选择器 获取一个ID 为xx的元素的DOM 对象
2.元素名选择器 获取所有xx元素的DOM 对象
3.类(class)选择器 获取class 为xx的所有DOM 对象
二 进阶选择器
1.群组选择器 获取多个选择器的DOM 对象
2.后代选择器 获取追溯到的多个DOM 对象
3.通配选择器 获取所有匹配元素标签的DOM 对象
三 高级选择器
1.子选择器 只获取子类节点的多个DOM 对象
2.属性选择器
Java代码
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
/**
*
* @author InJavaWeTrust
*
*/
public class TestJsoup {
public static void main(String[] args) {
File file = new File("E:\\InJavaWeTrust\\jsoup\\testJsoup.html");
try {
Document document = Jsoup.parse(file, "UTF-8");
//////////////////简单选择器//////////////////////
//1.简单选择器 ID选择器<获取一个ID为222的元素的DOM 对象>
Elements p = document.select("#222");
System.out.println(p.text());
//2.简单选择器 元素名选择器 <获取所有a元素的DOM 对象>
Elements a = document.select("a");
System.out.println(a.text());
//3.简单选择器 类(class)选择器 <获取class 为class222的所有DOM 对象>
Elements div = document.select(".class222");
System.out.println(div.text());
///////////////////进阶选择器/////////////////////
//1.进阶选择器 群组选择器 <获取多个选择器的DOM 对象>
Elements em = document.select("em,strong");
System.out.println(em.text());
//2.进阶选择器 后代选择器 <获取追溯到的多个DOM 对象>
Elements hd =document.select("ul div a");
System.out.println(hd.text());
//3.进阶选择器 通配选择器 <获取所匹配元素标签的DOM 对象>
Elements tp = document.select("span.abc*");
System.out.println(tp.text());
///////////////////高级选择器/////////////////////
//1.高级选择器 子选择器 <只获取子类节点的多个DOM 对象>
Elements z = document.select("ul>big");
System.out.println(z.text());
//2.高级选择器 属性选择器
Elements sx1 = document.select("label[id]"); //获取具有这个属性的DOM 对象
System.out.println(sx1.text());
Elements sx2 = document.select("label[for=man]"); //获取具有这个属性=这个属性值的DOM 对象
System.out.println(sx2.text());
Elements sx3 = document.select("label[for^=male]"); //获取具有这个属性且开头属性值匹配的DOM 对象
System.out.println(sx3.text());
Elements sx4 = document.select("label[for$=sa]"); //获取具有这个属性且结尾属性值匹配的DOM 对象
System.out.println(sx4.text());
Elements sx5 = document.select("label[for!=usa]"); //获取具有这个属性且不等于属性值的DOM 对象
System.out.println(sx5.text());
Elements sx6 = document.select("label[for~=c]"); //获取具有这个属性且属性值是以一个空格分割的列表,其中包含属性值的DOM 对象
System.out.println(sx6.text());
Elements sx7 = document.select("label[for*=yy]"); //获取具有这个属性且属性值含有一个指定字串的DOM 对象
System.out.println(sx7.text());
Elements sx8 = document.select("label[for][abc=fdfd]"); //获取具有这个属性且属性值匹配的DOM对象
System.out.println(sx8.text());
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果:
ID选择器222
元素名选择器 后代选择器
类(class)选择器2
群组选择器1 群组选择器2
后代选择器
评论 通配选择器
子选择器1 子选择器2
abc
man
Male
usa
abc man Male c s a xx yy zz sss
c s a
xx yy zz
sss
testJsoup.html
转载至 http://injavawetrust.iteye.com/blog/2279338
一 简单选择器
1.ID选择器 获取一个ID 为xx的元素的DOM 对象
2.元素名选择器 获取所有xx元素的DOM 对象
3.类(class)选择器 获取class 为xx的所有DOM 对象
二 进阶选择器
1.群组选择器 获取多个选择器的DOM 对象
2.后代选择器 获取追溯到的多个DOM 对象
3.通配选择器 获取所有匹配元素标签的DOM 对象
三 高级选择器
1.子选择器 只获取子类节点的多个DOM 对象
2.属性选择器
Java代码
import java.io.File;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
/**
*
* @author InJavaWeTrust
*
*/
public class TestJsoup {
public static void main(String[] args) {
File file = new File("E:\\InJavaWeTrust\\jsoup\\testJsoup.html");
try {
Document document = Jsoup.parse(file, "UTF-8");
//////////////////简单选择器//////////////////////
//1.简单选择器 ID选择器<获取一个ID为222的元素的DOM 对象>
Elements p = document.select("#222");
System.out.println(p.text());
//2.简单选择器 元素名选择器 <获取所有a元素的DOM 对象>
Elements a = document.select("a");
System.out.println(a.text());
//3.简单选择器 类(class)选择器 <获取class 为class222的所有DOM 对象>
Elements div = document.select(".class222");
System.out.println(div.text());
///////////////////进阶选择器/////////////////////
//1.进阶选择器 群组选择器 <获取多个选择器的DOM 对象>
Elements em = document.select("em,strong");
System.out.println(em.text());
//2.进阶选择器 后代选择器 <获取追溯到的多个DOM 对象>
Elements hd =document.select("ul div a");
System.out.println(hd.text());
//3.进阶选择器 通配选择器 <获取所匹配元素标签的DOM 对象>
Elements tp = document.select("span.abc*");
System.out.println(tp.text());
///////////////////高级选择器/////////////////////
//1.高级选择器 子选择器 <只获取子类节点的多个DOM 对象>
Elements z = document.select("ul>big");
System.out.println(z.text());
//2.高级选择器 属性选择器
Elements sx1 = document.select("label[id]"); //获取具有这个属性的DOM 对象
System.out.println(sx1.text());
Elements sx2 = document.select("label[for=man]"); //获取具有这个属性=这个属性值的DOM 对象
System.out.println(sx2.text());
Elements sx3 = document.select("label[for^=male]"); //获取具有这个属性且开头属性值匹配的DOM 对象
System.out.println(sx3.text());
Elements sx4 = document.select("label[for$=sa]"); //获取具有这个属性且结尾属性值匹配的DOM 对象
System.out.println(sx4.text());
Elements sx5 = document.select("label[for!=usa]"); //获取具有这个属性且不等于属性值的DOM 对象
System.out.println(sx5.text());
Elements sx6 = document.select("label[for~=c]"); //获取具有这个属性且属性值是以一个空格分割的列表,其中包含属性值的DOM 对象
System.out.println(sx6.text());
Elements sx7 = document.select("label[for*=yy]"); //获取具有这个属性且属性值含有一个指定字串的DOM 对象
System.out.println(sx7.text());
Elements sx8 = document.select("label[for][abc=fdfd]"); //获取具有这个属性且属性值匹配的DOM对象
System.out.println(sx8.text());
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果:
ID选择器222
元素名选择器 后代选择器
类(class)选择器2
群组选择器1 群组选择器2
后代选择器
评论 通配选择器
子选择器1 子选择器2
abc
man
Male
usa
abc man Male c s a xx yy zz sss
c s a
xx yy zz
sss
testJsoup.html
转载至 http://injavawetrust.iteye.com/blog/2279338
相关文章推荐
- 69、js获取标签值getElementsByName
- Javascript读书笔记:函数定义和函数调用
- js限制上传文件大小
- js定义类的方法
- JSPatch 使用
- phantomjs 解码url
- JSP入门学习总结(一)JSP常用的标签
- JavaScript之数据类型
- javascript实现简单计算器效果【推荐】
- js 中用 location.pathname 获取项目名
- SuperMap iClient for JavaScript 实现拖动半径进行距离查询
- C#json 解析
- 高效率去掉js数组中重复项
- 关于JavaScript变量提升的理解
- javascript基础二 (DOM,BOM基础二)
- 读书笔记――javascript变量作用域
- ionic添加自定义xxx.js控制器文件不生效的问题
- js中的parseInt和Number的区别
- js 正则
- js对象大总结2016/4/19