【问题标题】:JSoup, if else statement for checking if tag existJSoup,用于检查标签是否存在的 if else 语句
【发布时间】:2018-03-24 21:43:05
【问题描述】:

我一直面临的问题是有 25 个元素 div class= 页面中的辅助属性,我正在尝试获取地址标签,但是在这 25 个 div 元素中的一些元素中,地址标签可能根本不存在。

而跨度 class= 邻居将始终存在。 如果有,我需要从地址中取出文本,否则我将从跨度类中取出文本并打印出地址不存在。

    div class="secondary-attributes" 
    <span class="neighbor-str-list"> Mrt </span>
    <address>anything</address>

这是我在搜索后尝试过的代码,但它没有完成工作,因为它获取了整个站点的地址属性大小。

     Elements a2 = doc.select("div.secondary-attributes");
     doc.select("div.secondary-attributes>address").size() > 0){
                    System.out.println("exist!");                        
                }
                else{
                    System.out.println("nothing");

这些是我的原始代码。但是每当我遇到没有地址的 div 块时它就会停止。

Elements a2 = doc.select("div.secondary-attributes");        
for (Element List : a2) {
    System.out.println("Address:"+List.getElementsByTag("address").get(0).text());
}

【问题讨论】:

    标签: java jsoup


    【解决方案1】:

    您可以在特定元素上进行选择:

    Elements a2 = doc.select("div.secondary-attributes");             
    for (Element e : a2) {                                            
        if (e.select("div.secondary-attributes>address").size() > 0) {
            System.out.println("exist!");                             
        } else {                                                      
            System.out.println("nothing");                            
        }                                                             
    }     
    

    首先选择所有divssecondary-attributes。然后你遍历每个 div 并为每个 div 检查地址标签是否存在。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 2018-03-04
      • 2014-10-24
      • 2014-10-01
      • 1970-01-01
      • 2013-04-15
      • 1970-01-01
      • 2015-05-04
      • 2017-10-28
      相关资源
      最近更新 更多