2014-10-02 74 views
3

我正在学习如何使用jsoup。我首先以为jsoup就像jquery,但事实并非如此。如何使用jsoup获取所有div元素?

我想提取这个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>" 

请帮助我得到div与元素与jsoup和返回如上?

回答

3

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

它会给你的标签

4

使用.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 
} 

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

相关问题