2011-07-08 122 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元素。