如何选择具有特定的孩子直接
问题描述:
我有一个这样的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
答
我不知道的一种方式获取匹配元素的直接父元素。但是,如果你只是想解决这个特定的问题,那就试试这个选择:
格:有(em.icon时间):不是(:有(格))
我只是简单地添加否定:not(:has(div))
以避免将所有父级div取到根。
希望有帮助!
谢谢korpe。有用! – songofhawk
是否知道在哪里可以找到关于这种嵌套表达式的详细文档或示例? – songofhawk
不客气。不幸的是,我现在没有更详细的文件。我通常只会看看http://jsoup.org/cookbook/extracting-data/selector-syntax上的Jsoup文档,然后玩弄,直到找到能够实现这个技巧的选择器和伪选择器的组合。 – korpe