[英]How to select leaf tags of an html document using jsoup
我正在使用jsoup來解析一個html文檔。 我需要提取所有子div元素。 這基本上是沒有嵌套div標簽的div標簽。 我在java中使用以下內容來提取div標簽,
Elements bodyTag = document.select("div:not(div>div)");
這是一個例子:
<div id="header">
<div class="container">
<div id="header-logo">
<a href="/" title="mekay.com">
<div id="logo">
</div> </a>
</div>
<div id="header-banner">
<div data-type="ad" data-publisher="lqm.j2ee.site" data-zone="ron">
</div>
</div>
</div>
</div>
我只需要提取以下內容:
<div id="logo">
</div>
<div data-type="ad" data-publisher="lqm.j2ee.site" data-zone="ron">
</div>
相反,上面的代碼片段返回所有div標簽。 那么,請你幫我弄清楚這個選擇器有什么問題
這個是完美的工作
Elements innerMostDivs = doc.select("div:not(:has(div))");
在線嘗試
div:not(:has(div))
如果你只想要沒有任何孩子的div
葉子,那么使用它
Elements emptyDivs = document.select("div:empty");
你現在使用的選擇器意味着fetch me all the divs that are not direct children of another div
。 它帶來了第一個父div是正常的,因為div id="header"
不是div
的直接子節點。 最有可能的是它的父母是body
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.