您的位置:首页 > Web前端 > JavaScript

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: