jsoup - 使用 DOM 方法

  • 简述

    以下示例将展示在将 HTML 字符串解析为 Document 对象后如何使用类似 DOM 的方法。
  • 句法

    
    Document document = Jsoup.parse(html);
    Element sampleDiv = document.getElementById("sampleDiv");
    Elements links = sampleDiv.getElementsByTag("a");
    
    在哪里
    • document − 文档对象表示 HTML DOM。
    • Jsoup - 解析给定 HTML 字符串的主类。
    • html - HTML 字符串。
    • sampleDiv - 元素对象表示由 id "sampleDiv" 标识的 html 节点元素。
    • links − Elements 对象表示由标签“a”标识的多个节点元素。
  • 描述

    parse(String html) 方法将输入的 HTML 解析为一个新的 Document。该文档对象可用于遍历和获取 html dom 的详细信息。
  • 例子

    使用您在 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></div>"
             +"</body></html>";
          Document document = Jsoup.parse(html);
          System.out.println(document.title());
          Elements paragraphs = document.getElementsByTag("p");
          for (Element paragraph : paragraphs) {
             System.out.println(paragraph.text());
          }
          Element sampleDiv = document.getElementById("sampleDiv");
          System.out.println("Data: " + sampleDiv.text());
          Elements links = sampleDiv.getElementsByTag("a");
          for (Element link : links) {
             System.out.println("Href: " + link.attr("href"));
             System.out.println("Text: " + link.text());
          }
       }
    }
    
  • 验证结果

    使用编译类 javac 编译器如下:
    
    C:\jsoup>javac JsoupTester.java
    
    现在运行 JsoupTester 以查看结果。
    
    C:\jsoup>java JsoupTester
    
    看看结果。
    
    Sample Title
    Sample Content
    Data: Google
    Href: www.google.com
    Text: Google