简体   繁体   English

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

[英]How can I get all div elements with jsoup?

I am learning how to use jsoup. 我正在学习如何使用jsoup。 I first thought jsoup was like jquery but it is not. 我首先认为jsoup就像jquery,但事实并非如此。

I want to extract this html body to elements of divs. 我想将这个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>

I am using this code: 我正在使用此代码:

Document doc = Jsoup.parse(htmlString);
Elements divs = doc.select("div");

but it returns all of the divs. 但它返回所有的div。 I want elements to return like this : 我希望元素像这样返回:

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>"

Please assist me in getting divs to elements with jsoup and return as above? 请帮助我使用jsoup获取元素的div并返回如上所述?

Do divs.get(0).html(); 做divs.get(0).html();

It will give you the inner html of the tag 它会给你标签的内部html

Using .html() will retrieve an inner html. 使用.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
}

If you want to include div you can use .outerHtml() . 如果你想包含div,你可以使用.outerHtml()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM