jsoup - 使用选择器语法

jsoup - 使用选择器语法 首页 / JSoup入门教程 / jsoup - 使用选择器语法

以下示例将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以查看输出。

无涯教程网

链接:https://www.learnfk.comhttps://www.learnfk.com/jsoup/jsoup-use-selector.html

来源:LearnFk无涯教程网

C:\jsoup>java JsoupTester

查看输出。

Href: www.google.com
Text: Google
Name: google
Id: imageDiv
Text: Sample

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

技术领导力实战笔记 -〔TGO鲲鹏会〕

深入拆解Tomcat & Jetty -〔李号双〕

JavaScript核心原理解析 -〔周爱民〕

手把手教你玩音乐 -〔邓柯〕

爆款文案修炼手册 -〔乐剑峰〕

玩转Vue 3全家桶 -〔大圣〕

搞定音频技术 -〔冯建元 〕

去无方向的信 -〔小麥〕

Kubernetes入门实战课 -〔罗剑锋〕

好记忆不如烂笔头。留下您的足迹吧 :)