开发者社区 问答 正文

jsoup怎么才能只选最后一个元素

html文档中有四个: class="post" 的 div 元素
screenshot
利用jsoup选择class="post" 的元素
Document doc = Jsoup.parse("http://example.com/");
Elements link = doc.getElementsByClass("post");
默认情况下是四个全部都选了,
怎么才能只选最后一个:
screenshot

展开
收起
蛮大人123 2016-02-25 16:56:57 5078 分享 版权
阿里云 AI 助理回答

在使用Jsoup时,如果你想选取特定类名的元素中的最后一个元素,可以通过获取所有该类名的元素集合后,再利用集合的大小来选取最后一个元素。这里是一个示例代码片段:

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class JsoupExample {
    public static void main(String[] args) {
        try {
            // 解析HTML文档
            Document doc = Jsoup.connect("http://example.com/").get();
            
            // 获取所有class为"post"的元素
            Elements posts = doc.getElementsByClass("post");
            
            // 检查是否有找到元素
            if (!posts.isEmpty()) {
                // 选取最后一个元素
                Element lastPost = posts.get(posts.size() - 1);
                
                // 打印或处理最后一个元素
                System.out.println(lastPost.outerHtml());
            } else {
                System.out.println("没有找到class为'post'的元素");
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

这段代码首先连接到指定的URL并获取HTML文档,然后通过getElementsByClass("post")获取所有class为"post"的Elements集合。之后,使用posts.size() - 1来获取集合中最后一个元素的索引,并通过get()方法选取这个元素。最后,打印出这个最后一个元素的完整HTML代码。如果集合为空(即没有找到匹配的元素),则会输出提示信息。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: