簡體   English   中英

檢查跨度的可為空狀態

[英]Checking nullable state of spans

我用 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 個類icon-list divs ,它們可以為空(不存在),並且每個 div 都有兩個 div:

icon-list__titleicon-list__infos ,除了第三個。 無論如何我可以檢查每個項目是否為空? 我似乎無法將項目存儲在正確的字符串變量中。

只有第三個 div 有兩個跨度的 class 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 中,這是最好的嗎?

這樣的東西怎么樣,非常靜態的代碼,但可能會完成這項工作:

Elements result = third.select("span.icon-list__title");
if (result.size() > 0) {
    title_software = result.get(0).toString();
}
if (result.size() > 1) {
    photo_time = result.get(1).toString();
}
System.out.println(title_software);
System.out.println(photo_time);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM