我正在学习如何使用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>
我正在使用此代码:
Document doc = Jsoup.parse(htmlString);
Elements divs = doc.select("div");
但它会返回所有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>"
请帮助我使用jsoup获取元素的div并返回上面的内容?
答案 0 :(得分:4)
执行divs.get(0).html();
它将为您提供标签的内部html
答案 1 :(得分:4)
使用.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
}
如果您想要包含div,可以使用.outerHtml()。