2015-11-04 65 views
0

我有一個這樣的HTML文檔中的節點:如何選擇具有特定的孩子直接

<div class="jumbotron media"> 
    <img class="pull-left media-object" > 
    <div class="media-body"> 
     <h2 class="media-heading">xxx</h2> 
     <div> 
      <em class="icon-time" title="act time"></em> 2015-11-29 14:00 ~ 2015-11-29 18:00 
     </div> 
     <div class="address"> 
      <em class="icon-place" title="act place"></em><a target="_blank" href="http://ooo">yyy</a> 
     </div> 
     <div> 
      <em class="icon-statistics" title="act count"></em> zzz</div> 
      <div> 
       <a alt=""> </a> 
      </div> 
     </div> 
    </div> 
</div> 

我要選擇具有一個em.icon時間孩子在div select target

如何在jsoup中編寫選擇器?

如果我使用:doc.select(「分區:已(em.icon時間)」),我會得到根元素如下快照: select result

回答

0

我不知道的一種方式獲取匹配元素的直接父元素。但是,如果你只是想解決這個特定的問題,那就試試這個選擇:

格:有(em.icon時間):不是(:有(格))

我只是簡單地添加否定:not(:has(div))以避免將所有父級div取到根。

希望有幫助!

+0

謝謝korpe。有用! – songofhawk

+0

是否知道在哪裏可以找到關於這種嵌套表達式的詳細文檔或示例? – songofhawk

+0

不客氣。不幸的是,我現在沒有更詳細的文件。我通常只會看看http://jsoup.org/cookbook/extracting-data/selector-syntax上的Jsoup文檔,然後玩弄,直到找到能夠實現這個技巧的選擇器和僞選擇器的組合。 – korpe

相關問題