2014-02-24 63 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"); 
     }