在Java应用程序中,假设我在一个巨大的HTML代码中有这个地方:
<h2>
<b>
This
</b>
</h2>
<h1>
</h1>
想象一下,我想在元素h1
之后得到第一个元素b
。我已经通过JSoup库尝试了一些CSS选择器,但没有发现任何有用的东西。这里最大的问题是:他们不是兄弟姐妹。我不知道b
元素是否是不同父母的孩子。
有办法吗?
答案 0 :(得分:1)
您无法使用CSS选择器完全执行此操作,您必须使用JSoup在代码中执行某些逻辑。
此算法适用于浏览器以及JSoup文档。基本上,从b
元素开始,您可以在这里找到h1
:
current
设为b
。current
不是null
:
sibling
设置为current
&#39; 下一个元素兄弟(在JSoup中,这将是nextElementSibling
method;在任何模糊的现代浏览器中,它是nextElementSibling
属性。sibling
不是null
:
sibling
是h1
,则表示您已完成sibling
设置为sibling
的下一个元素兄弟并继续此兄弟循环(&#34;而sibling
不是null
& #34)sibling
为null
)将current
设置为current
的父节点。在JSoup中,那将是parent
method。在浏览器中,它将是parentNode
属性。current
不是null
,请继续此父循环(&#34; current
不是null
&#34;)。h1
。