2014-10-02 116 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()