检查可空的跨度状态

时间:2017-01-19 01:27:59

标签: java foreach iterator jsoup html-parsing

我有两个用jsoup解析的元素,两个都是相同的范围:

span.icon-list__title

问题是:第一个跨度始终存在,但第二个跨度可能不存在。我尝试了for循环,执行迭代器检查第一个,然后检查下一个:

Iterator t = third.select("span.icon-list__title").iterator();
    if (t.hasNext()) {
        title_software = t.next().toString();
        //first behaviour
        while (t.hasNext()) {
            photo_time = t.next().toString();
        }
    }

但我似乎总是得到java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2 error,因为范围似乎不存在。在解析它之前有没有可能的方法来检查它是否存在? 问题是我有两个单独的字符串值。

基本上我有3 divs个类icon-list,它可以为空(不存在),每个div都有两个div:

icon-list__titleicon-list__infos,第三个除外。 无论如何,我可以检查每个项目是否为空?我似乎无法将项目存储在适当的字符串变量中。

只有第三个div有两个班级icon-list__title

这是HTML:

  <div class="icon-list">
   <div class="icon-list__icon">
      <i class="icon-expand"></i>
   </div>
   <div class="icon-list__content">
      <div class="icon-list__title">4000 x 2667 pixels</div>
      <div class="icon-list__infos">
         <span>3.0 MB</span>
      </div>
   </div>
</div>
<div class="icon-list">
   <div class="icon-list__icon">
      <i class="icon-camera"></i>
   </div>
   <div class="icon-list__content">
      <div class="icon-list__title">
         450
      </div>
      <div class="icon-list__infos">
         <span>1</span>
         <span>2</span>
         <span>3</span>
         <span>4</span>
      </div>
   </div>
</div>
<div class="icon-list">
   <div class="icon-list__icon">
      <i class="icon-info"></i>
   </div>
   <div class="icon-list__content">
      <span class="icon-list__title">
      Span span 1
      </span>
      <span class="icon-list__title">
      Span span 2
      </span>
   </div>
</div>

一切都可以为空 如果我使用foreach循环并将所有内容放入recyclerview中,它是最好的吗?

1 个答案:

答案 0 :(得分:2)

这样的事情怎么样,非常静态的代码但可能会起作用:

{{1}}