以下示例将HTML解析为Document对象之后使用Selector方法操作元素, jsoup支持类似于CSS Selector选择器。
Document document=Jsoup.parse(html); //a with href Elements links=document.select("a[href]");
document.select(expression)方法解析给定的CSS Selector表达式,以选择html dom元素。
Document.select 示例
使用您选择的任何编辑器在C:/> jsoup中创建以下Java程序。
JsoupTester.java
import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class JsoupTester { public static void main(String[] args) { String html = "<html><head><title>Sample Title</title></head>" + "<body>" + "<p>Sample Content</p>" + "<div id='sampleDiv'><a href='www.google.com'>Google</a>" + "<h3><a>Sample</a><h3>" +"</div>" + "<div id='imageDiv' class='header'><img name='google' src='google.png' />" + "<img name='yahoo' src='yahoo.jpg' />" +"</div>" +"</body></html>"; Document document = Jsoup.parse(html); //一个带href的标签 Elements links = document.select("a[href]"); for (Element link : links) { System.out.println("Href: " + link.attr("href")); System.out.println("Text: " + link.text()); } //以 .png 结尾的 src 的 img Elements pngs = document.select("img[src$=.png]"); for (Element png : pngs) { System.out.println("Name: " + png.attr("name")); } //div with class=header Element headerDiv = document.select("div.header").first(); System.out.println("Id: " + headerDiv.id()); //a 在 h3 后面 Elements sampleLinks = document.select("h3 > a"); for (Element link : sampleLinks) { System.out.println("Text: " + link.text()); } } }
使用 javac 编译器编译类,如下所示:
C:\jsoup>javac JsoupTester.java
现在运行JsoupTester以查看输出。
C:\jsoup>java JsoupTester
查看输出。
Href: www.google.com Text: Google Name: google Id: imageDiv Text: Sample
参考链接
https://www.learnfk.com/jsoup/jsoup-use-selector.html
标签:document,JsoupTester,无涯,jsoup,println,Document,选择器,select From: https://blog.51cto.com/u_14033984/9089346