如何直接 select 指定 child 的节点
How to select a node which has a specified child directly
我有一个这样的 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>
我想要 select 有一个 em 的 div。icon-time child
select target
如何在 jsoup 中编写 selector?
如果我使用:doc.select("div:has(em.icon-time)"),我将获得根元素,如下图所示:
select result
我不知道有什么方法可以获取匹配元素的直接父元素。但是如果你只想解决这个特定的问题,那么试试这个选择器:
div:has(em.icon-time):not(:has(div))
我只是添加了否定 :not(:has(div))
以避免将所有父 div 都放到根目录中。
希望对您有所帮助!
我有一个这样的 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>
我想要 select 有一个 em 的 div。icon-time child select target
如何在 jsoup 中编写 selector?
如果我使用:doc.select("div:has(em.icon-time)"),我将获得根元素,如下图所示: select result
我不知道有什么方法可以获取匹配元素的直接父元素。但是如果你只想解决这个特定的问题,那么试试这个选择器:
div:has(em.icon-time):not(:has(div))
我只是添加了否定 :not(:has(div))
以避免将所有父 div 都放到根目录中。
希望对您有所帮助!