jsoup - Menggunakan Sintaks Selektor

Contoh berikut akan menampilkan penggunaan metode pemilih setelah mengurai String HTML menjadi objek Dokumen. jsoup mendukung pemilih yang mirip dengan Pemilih CSS.

Sintaksis

Document document = Jsoup.parse(html);
Element sampleDiv = document.getElementById("sampleDiv");
Elements links = sampleDiv.getElementsByTag("a");

Dimana

  • document - objek dokumen mewakili DOM HTML.

  • Jsoup - kelas utama untuk mengurai String HTML yang diberikan.

  • html - String HTML.

  • sampleDiv - Objek elemen mewakili elemen node html yang diidentifikasi oleh id "sampleDiv".

  • links - Objek elemen mewakili beberapa elemen node yang diidentifikasi oleh tag "a".

Deskripsi

Metode document.select (ekspresi) mengurai ekspresi pemilih CSS yang diberikan untuk memilih elemen dom html.

Contoh

Buat program java berikut menggunakan editor pilihan Anda di katakan C: /> jsoup.

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);

      //a with href
      Elements links = document.select("a[href]");

      for (Element link : links) {
         System.out.println("Href: " + link.attr("href"));
         System.out.println("Text: " + link.text());
      }

      // img with src ending .png
      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());
   
      // direct a after h3
      Elements sampleLinks = document.select("h3 > a"); 

      for (Element link : sampleLinks) {
         System.out.println("Text: " + link.text());
      }
   }
}

Verifikasi hasilnya

Kompilasi kelas menggunakan javac kompiler sebagai berikut:

C:\jsoup>javac JsoupTester.java

Sekarang jalankan JsoupTester untuk melihat hasilnya.

C:\jsoup>java JsoupTester

Lihat hasilnya.

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