2011-07-08 125 views
0

我今天开始使用JSoup来使用一个Android应用程序,所以我有这张表,我需要从中提取数据,但从它看来,这将是艰难的。需要一些帮助;表的HTML是如下:Jsoup从HTML表中提取数据

<TR BGCOLOR='#999999'> 
     <TD ALIGN='left'><span class='S09W80'><font color=#DDDDDD>CODE</span></TD> 
     <TD ALIGN='left'><span class='S09W80'><font color=#DDDDDD>SUBJECT NAME</span></TD> 
     <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>PERIOD FROM</span></TD> 
     <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>PERIOD TO</span></TD> 
     <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>ENROL DATE</span></TD> 
     <TD ALIGN='right'><span class='S09W80'><font color=#DDDDDD>GRADE</span></TD>     
</TR> 

其次是

<TR BGCOLOR='#FFFFFF'> 
    <TD ALIGN='left'><span class='S09W50'>IT142</span></TD> 
    <TD ALIGN='left'><span class='S09W50'>INTRODUCTION TO GRAPHICS DEVELOPMENT</span></TD> 
    <TD ALIGN='right'><span class='S09W50'>21-FEB-11</span></TD> 
    <TD ALIGN='right'><span class='S09W50'>17-JUN-11</span></TD> 
    <TD ALIGN='right'><span class='S09W50'>22-FEB-11</span></TD> 
    <TD ALIGN='center'><span class='S09W80'>B-</span></TD> 
</TR> 

重复,但我怎么使用doc.select;(用什么选择?)这里 ?

+0

哦,要添加这个http://shoquetechnology.blogspot.com/2011/05/parsing-data-from-html-post-table-using_29.html方法到我的工作,但在放置之前它来测试,任何人有更好的主意? – eddy

回答

0

不是一个Android问题,而是一个CSS选择器问题。你可以阅读更多关于它在http://www.w3.org/TR/CSS2/selector.html

做这样的屏幕抓取总是棘手,并没有“正确的”解决方案。

您将需要执行多个选择步骤。

  1. 像“body> table> tr”这样的选择器。拿第一个元素。这会给你最初的TR元素。
  2. 验证TR元素,获取其子元素并验证其中一个元素具有文本“SUBJECT NAME”。
  3. 然后可以按顺序处理其他TR元素。