2014-02-24 110 views
0

我想使用jsoup提取td標記中存在的數據。從表標記中提取數據

這裏代碼在下面「BAGALKOT」是城市的名稱和「KERUDI醫院研究中心」是醫院的名稱。

同樣的城市名稱和醫院名稱在表格結構中多次出現在頁面中。我想使用jsoup來提取這些數據。

任何人都可以請幫我一些java代碼相同。

<h2>Karnataka Hospitals List</h2> 

<tr bgcolor="#E4E4E4" height="40"> 
     <td height="40" align="center" class="whiteheading"><strong>Sl. No</strong></td> 
     <td align="center" class="whiteheading"><strong class="whiteheading">City</strong></td> 
     <td align="center" class="whiteheading"><strong>Hospital/Nursing Home</strong></td> 
     <td align="center" class="whiteheading"><strong>Address</strong></td> 
     <td align="center" class="whiteheading"><strong>State</strong></td> 
    </tr> 
    <tr height="60"> 
     <td width="64" align="left" bgcolor="#FFFFFF">1</td> 
     <td class="copyrights" width="119" bgcolor="#FFFFFF">BAGALKOT</td> 
     <td class="copyrights" width="211" bgcolor="#FFFFFF">KERUDI HOSPITAL &amp; RESEARCH CENTRE</td> 
     <td class="copyrights" bgcolor="#FFFFFF">EXTENSION, HOSPITAL ROAD,BAGALKOT, KARNATAKA-587101.</td> 
     <td class="copyrights" width="88" bgcolor="#FFFFFF">KARNATAKA</td> 
    </tr> 
+0

@PopoFibo非常感謝...... :-)它工作 – user3230637

+0

歡迎您,很高興它的工作 – PopoFibo

回答

0

您可以使用CSS類名或標籤名分別和提取數據:

Elements headings = doc.select("td[class=whiteheading]"); 
     Elements data = doc.select("td[class=copyrights]"); 

     for (Element el : headings) { 
      System.out.print(el.text() + "\t\t\t"); 
     } 

     System.out.println(); 
     for (Element el : data) { 
      System.out.print(el.text() + "\t"); 
     } 

給人,

Sl. No   City   Hospital/Nursing Home   Address   State   
BAGALKOT KERUDI HOSPITAL & RESEARCH CENTRE EXTENSION, HOSPITAL ROAD,BAGALKOT, KARNATAKA-587101. KARNATAKA 

以上代碼將ge t標題和數據的所有td標記值,並將它們放到控制檯中。由於它沒有關聯CSS類,因此唯一的問題是使用序列號。因此,其他的選項只能是變量名的基礎上,選擇和篩選後出來:

Elements data = doc.select("td"); 

     for (Element el : data) { 
      System.out.print(el.text() + "\t"); 
     }