2017-09-06 49 views
1

也許有人可以幫助我使用jsoup從HTML中提取信息?如何從表中提取Jsoup的文本

需要的信息是23.90

<tr> 
    <td class="leftcell" valign="top"> 
    <div onclick= 
    "ShowHideTravelDetails('bookingPrice_TaxesToggleBox', 
'bookingPrice_TaxesToggleIcon', '/Images');" class="productheader">...</div> 
</td> 
<td class="rightcell emphasize" align="right" 
valign="bottom">$23.90</td></tr> 

我可以看到它在HTML文檔幾個地方。 我試過使用

Elements taxes = doc.select("td.rightcell.emphasize"); 

但它不工作。

還試圖提取信息從表:

Elements table = doc.select("table[class=selectiontable]"); 
     Elements rows = table.get(0).select("td[class^=rightcell emphasize]"); 
     for (Element row : rows) { 


      Elements tds = row.select("td"); 
      System.out.println(tds.get(13)); 
+0

請添加代碼沒有屏幕截圖 – soorapadman

+0

第一代碼片段對我來說很好。在第二個中,你檢索'td's並將它們稱爲'rows',然後嘗試檢索一個子'td';我想你想檢索'tr's代替(但是類選擇器不再有意義) – Aaron

回答

0

嘗試這樣 我假設你有一個這樣的代碼。你需要做嵌套級迭代才能得到結果。

public class Test { 
    public static void main(String[] args) { 
     String html ="<table class=\"selectiontable\">\n" + 
       "<tr>\n" + 
       " <td class=\"leftcell\" valign=\"top\">\n" + 
       " <div onclick=\n" + 
       " \"ShowHideTravelDetails('bookingPrice_TaxesToggleBox', \n" + 
       "'bookingPrice_TaxesToggleIcon', '/Images');\" class=\"productheader\">...</div>\n" + 
       "</td>\n" + 
       "<td class=\"rightcell emphasize\" align=\"right\" \n" + 
       "valign=\"bottom\">$23.90</td></tr>\n" + 
       "</table>"; 


     Document document = Jsoup.parse(html); 
     Elements elements = document.select(".selectiontable"); 
     for (Element element :elements){ 
      for (Element row : element.select("tr")) { 
       Elements tds = row.select("td"); 
       if (tds.size() > 1) { 
        System.out.println(tds.get(1).text()); 
       } 
      } 
     } 
    } 


} 

輸出:

$23.90 
+0

謝謝!但現在我有問題,我試圖通過Document document = Jsoup.parse(doc.toString())解析整個html文檔;它並沒有創立任何東西。即沒有輸出23.90。可能是因爲這個數字出現在html文件的少數地方? – cinnamon

+0

@brigitte沒有完整的HTML我不能解決你的問題。只是分享完整的HTML或至少從'table'標籤。我將整理出來。 – soorapadman

+0

確定讓我點擊'98.80'你想得到結果? – soorapadman