当前位置: 首页 > 知识库问答 >
问题:

JSoup,用于检查标签是否存在的if else语句

解沈义
2023-03-14

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

而跨度类 = 邻居将永远存在。如果有,我需要从地址中获取文本,否则我将从 span 类中获取文本

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

共有1个答案

竺承望
2023-03-14

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

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

首先,选择所有<code>divs</code>和类<code>次要属性</code>。然后遍历每个div,并检查每个div的地址标记是否存在。

 类似资料:
  • 问题内容: 我有一个嵌入了数据库的桌面应用程序。当我执行程序时,我需要检查特定的表是否存在,如果不存在则创建它。 给我的数据库一个名为conn的Connection对象,我该如何检查呢? 问题答案: 您可以使用可用的元数据: 有关更多详细信息,请参见此处。还要注意JavaDoc中的注意事项。

  • 问题内容: 我正在尝试检查$ _POST是否存在,如果存在,则在另一个字符串中打印它,如果不存在,则根本不打印。 像这样的东西: 任何帮助将是巨大的! 问题答案:

  • 问题内容: 如何检查JavaScript对象或数组中是否存在特定键? 如果密钥不存在,而我尝试访问它,它将返回false吗?还是抛出错误? 问题答案: 检查不确定性不是测试密钥是否存在的准确方法。如果密钥存在但值实际上是怎么办? 您应该改为使用运算符: 如果要检查密钥是否不存在,请记住使用括号: 或者,如果您要特别测试对象实例的属性(而不是继承的属性),请使用: 有关和的方法之间的性能比较,关键是

  • 问题内容: 我正在尝试检查是否存在用户默认值,如下所示: 但是,无论对象还不存在,它将始终返回true是什么?这是检查存在的正确方法吗? 问题答案: 阿斯通有一个很好的答案。请参阅下面的Swift 3版本。

  • 问题内容: 如果我具有流程的PID,则os.FindProcess是否足以测试该流程的存在?我的意思是,如果返回,我是否可以认为它已终止(或被杀死)? 编辑: 我刚刚写了一个包装函数(旧式bash流程测试)。这可以正常工作,但是如果有其他解决方案(使用go库完成),我仍然很高兴。 问题答案: 这是查看进程是否处于活动状态的传统的Unix方式-向其发送0信号(就像您对bash示例所做的一样)。 来自

  • 问题内容: 检查cookie是否存在的好方法是什么? 条件: Cookie存在,如果 如果不存在Cookie, 问题答案: 您可以使用所需cookie的名称调用函数getCookie,然后检查其是否为null。