Java Jsoup:如何选择直接父级,直到根级没有其兄弟级?

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

我试图得到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</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());
          }
        }