Java Jsoup:如何选择直接父级,直到根级没有其兄弟级?
我试图得到element的所有直系父母,但也得到他们的兄弟姐妹 例如,我有这个DOM结构Java Jsoup:如何选择直接父级,直到根级没有其兄弟级?,java,html,dom,jsoup,parent,Java,Html,Dom,Jsoup,Parent,我试图得到element的所有直系父母,但也得到他们的兄弟姐妹 例如,我有这个DOM结构 <div class="html"> <div class="head"></div> <div class="body"> <a href="seznam.cz">seznam</a> <h2>Foo</h2> <a href="google.com">google
<div class="html">
<div class="head"></div>
<div class="body">
<a href="seznam.cz">seznam</a>
<h2>Foo</h2>
<a href="google.com">google</a>
<p>
<img class="first">
</p>
<img class="second">
<ol>
<li>1</li>
<li>2</li>
</ol>
</div>
</div>
但是在根变量中,我得到了整个DOM结构以及所有同级
更新
在此之后,在根变量中,我再次拥有整个DOM结构:
<div class="html">
<div class="head"></div>
<div class="body">
<a href="seznam.cz">seznam</a>
<h2>Foo</h2>
<a href="google.com">google</a>
<p>
<img class="first">
</p>
<img class="second">
<ol>
<li>1</li>
<li>2</li>
</ol>
</div>
</div>
福
一,
二,
但我想要这样的东西:
<div class="html">
<div class="body">
<p>
<img class="first">
</p>
</div>
</div>
首先,使用
Elements childs = document.getElementsByClass("first");
现在,迭代所有子元素以使用
for( Element child : childs){
Elements parents = child.parents();
for(Element parent: parents){
System.out.println(parent.tagName());
}
}
试试这个,希望对你有用;) 如果您只对路径感兴趣,请使用
Element.cssSelector()
它提供整个DOM路径,例如html>body>img
Darshit Chokshi方法返回的“路径”不是唯一的。请在您的问题中添加更清晰的内容。我更新了我的问题。更清楚了?谢谢你的意愿,但卢克耶的回答更有用。谢谢你,这就是我想要的。
for( Element child : childs){
Elements parents = child.parents();
for(Element parent: parents){
System.out.println(parent.tagName());
}
}