[英]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.