2017-08-30 94 views
0

我有以下HTML代碼:如何使用JSOUP解析Android中的嵌套div的?

<div id="app"> 
<div data-reactroot id="timetable-content-holder"> 
<div class="top-bar"> ... </div> 
<h2>I need it </h2> 
<div class="timetable-holder gr-holder"> 
<div class="timetable-day gr"> 
<div class = "timetable-day-title"> Daily </dv> 
</div> 
</div> 
</div> 
    </div> 

我需要解析h2和文字裏面timetable-day-title。我不能寫選擇方法。這是我的試驗:

Elements elements = document.select("div#app > div#timetable-content-holder > h2"); 

但是elements大小爲零。如何在我的案例中編寫文檔的選擇方法?

回答

2

您可以選擇用逗號分隔無論你想

String html =" <div id=\"app\"> \n" + 
       "<div data-reactroot id=\"timetable-content-holder\">\n" + 
       "<div class=\"top-bar\"> ... </div> \n" + 
       "<h2>I need it </h2> \n" + 
       "<div class=\"timetable-holder gr-holder\"> \n" + 
       "<div class=\"timetable-day gr\"> \n" + 
       "<div class = \"timetable-day-title\"> Daily </dv> \n" + 
       "</div> \n" + 
       "</div> \n" + 
       "</div> \n" + 
       "  </div> "; 

     Document document = Jsoup.parse(html); 
     Elements elements = document.select("#app #timetable-content-holder h2,.timetable-day-title "); 
     for (Element element:elements){ 
      System.out.println(element.text()); 
     } 

更新 試試這個代碼從URL調用

Document doc = Jsoup.connect("http://YourURL.com").get(); 

輸出標籤:

I need it 
Daily 
+0

是的,作品。但你向我展示了準備好的html代碼的例子。但我試着用我擁有的URL,但它沒有奏效。你能告訴我如何解析HTML並得到那些字符串嗎? – abay

+0

@ andy11我已更新 – soorapadman

+0

只有在您的第一個答案版本中寫入html時,您的方法纔有效。它成功顯示所有需要的字符串。但是,如果我通過URL連接它不起作用,但顯示網站的標題。我怎樣才能發送你的網址? – abay