【问题标题】:Jsoup -- iterate over multiple elements simultaneously?Jsoup - 同时迭代多个元素?
【发布时间】:2018-12-15 03:12:01
【问题描述】:

我正在尝试将包含具有多种类型详细信息(例如姓名、电话号码和地址)的条目的 html 页面转换为电子表格。我能够将这些细节中的每一个隔离为元素,但我似乎无法找到一种方法来一次迭代多个元素以将名称和电话号码彼此相邻打印,而不是先打印所有名称,然后再打印所有打印的电话号码。

Jsoup.connect(page).timeout(999999);
        Document doc = Jsoup.connect(page).get();
        String title = doc.title();
        System.out.println(title);

        Elements names = doc.select("li a");
        Elements ratings = doc.select("li img");

        for (Element name:names){
            if (name.attr("href").startsWith("/biz/")){
            System.out.println(name.text());
            }


            for (Element rating:ratings){

                System.out.println(rating.attr("alt"));

        }

【问题讨论】:

  • 如果您将要提供给 JSoup 的 html 也提供给它,那将会有所帮助。至少相关部分

标签: java html parsing jsoup


【解决方案1】:

假设两者的索引相同,这样可以正常工作。

for(int i = 0; i < names.size() && i < ratings.size(); i++) {
  System.out.println("Name: " + names.get(i) + " Phone: " +  ratings.get(i));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-22
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    相关资源
    最近更新 更多