如何使用jsoup获取所有div元素?

yoz*_*ama 5 html java jsoup

我正在学习如何使用jsoup。我首先以为jsoup就像jquery,但事实并非如此。

我想将这个HTML正文提取到div元素中。

<html>
<head></head>
    <body>
            <div>
                <h1>Title</h1>
            </div>
            <div>
                <img src="/xx.jpg" />
            </div>
            <div>
                <p>Paragraph 1</p>
                <p>Paragraph 2</p>
            </div>
            <div>
                <h2><b>End</b></h2>
            </div>
        </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我正在使用此代码:

Document doc = Jsoup.parse(htmlString);
Elements divs = doc.select("div");
Run Code Online (Sandbox Code Playgroud)

但它会返回所有div。我希望元素返回如下:

divs.get(0).toString(); // "<h1>Title</h1>"
divs.get(1).toString(); // "<img src="/xx.jpg" />"
divs.get(2).toString(); // "<p>Paragraph 1</p><p>Paragraph 2</p>"
divs.get(3).toString(); // "<h2><b>End</b></h2>"
Run Code Online (Sandbox Code Playgroud)

请协助我使用jsoup将div转换为元素并如上所述返回吗?

Ken*_*man 5

使用.html()将检索内部 html。

Document doc = Jsoup.parse(htmlString);
Elements divs = doc.select("div");
//divs.get(0).html();
for(Element elem : divs){
  System.out.println(elem.html()); //get all elements inside div
}
Run Code Online (Sandbox Code Playgroud)

如果你想包含 div 你可以使用.outerHtml()


小智 4

执行 divs.get(0).html();

它会给你标签的内部 html