2016-04-03 55 views
-1

我從Android Studio中的本地HTML頁面上抓取數據,而不是顯示正確的信息所有它顯示的是空白屏幕。任何人都知道如何顯示我刮過的數據?下面是一段主要的代碼。正確的數據不顯示爲我的應用程序Android

public class MainActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    try { 
     StringBuilder buf=new StringBuilder(); 
     InputStreamReader inputStream = new InputStreamReader(getAssets().open("filename.html")); 
     BufferedReader bufferedReader = new BufferedReader(inputStream); 
     String str; 
     while ((str=bufferedReader.readLine()) != null) { 
      buf.append(str); 
     } 
     Document doc = Jsoup.parse(buf.toString()); 
     StringBuilder sb = new StringBuilder(); 

     Elements tableElements = doc.select("td[colspan='1']"); 
     TextView textView = (TextView)findViewById(R.id.text_view); 
     for (Element td : tableElements) { 
      sb.append(td.text() + "\n"); 
      System.out.println(td.text()); 
     } 
     textView.setText(sb.toString()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

} HTML

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     <html xmlns='http://www.w3.org/1999/xhtml'> 
    <head><title>timetable.html</title><meta http-equiv='content-disposition', content='attachment;filename=timetable.html'> 
    <meta http-equiv="Content-Type" content="application/octet-stream" /> 

    <style>body {background-color:white;} body,td { font-family: arial; }  </style></head> 
    <data> 
      <body> 
      <table cellspacing='0' border='0' width='100%' > 
      <col align='left' /><col align='center' /><col align='right' /> 
     </data> 
      <tr> 
     <td></td><td></td><td></td> 
    </tr> 
    </table> 
    </td> 
    </tr><tr> 
    <td> 
    <table cellspacing='0' border='0' width='100%' > 
    <col align='left' /><col align='center' /><col align='right' /> 
    <tr> 
    <td></td><td></td><td></td> 
    </tr> 
    </table> 
    </td> 
    </tr><tr> 
    <td> 
    <table cellspacing='0' border='0' width='100%' > 
    <col align='left' /><col align='center' /><col align='right' /> 
    <tr> 
    <td></td><td></td><td></td> 
    </tr> 
    </table> 
    </td> 
    </tr><tr> 
    <td> 
    <table cellspacing='0' border='0' width='100%' > 
    <col align='left' /><col align='center' /><col align='right' /> 
    <tr> 

     <td><table border='0' width='100%'><tr><td width='40%' align='left' valign='middle'><font face='arial' size='3'><b>The Year<font size='1'> </td><td width='20%' align='center' valign='middle'><font face='arial' size='1'>ICOM</td>  <td width='40%' align='right' valign='middle'><font face='arial' size='2'>  <b>Weeks selected for output: 26 (22 Feb 2016-28 Feb 2016)</td></td><td></td> <td></td> 
    </tr> 
     </table> 
     </td> 
     </tr> 
     </table> 
     <table cellspacing='0' border='1'> 
     <tr> 
     <td></td> 

     <td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:00</font>   </td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>9:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>10:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>10:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>10:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>10:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>11:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>11:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>11:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>11:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>12:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>12:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>12:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>12:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>13:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>13:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>13:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>13:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>14:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>14:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>14:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>14:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>15:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>15:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>15:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>15:45</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>16:00</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>16:15</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>16:30</font></td> 
<td bgcolor='#C0C0C0' colspan='1'><font color='#FFFFFF'>16:45</font></td> 
      </tr> 
     <tr > 
     <td style="border-bottom:3px solid #000000;" rowspan='1' bgcolor='#C0C0C0'><font color='#FFFFFF'>Monday</font></td> 
     <td style="border-bottom:3px solid #000000;" colspan='12' rowspan='1' > 

     <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
    <tr> 
    <td align='left'><font color='#FF0000'>Sound</font></td> 
    </tr> 
    </table> 
    <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
    <col align='right' /> 
    <tr> 
    <td align='left'><font color='#000000'>P2016</font></td> 
    <td align='right'><font color='#008000'>P.Man</font></td> 
     </tr> 
     </table> 
    <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
    <tr> 
    <td align='left'><font color='#000080'>22-29, 32-36</font></td> 
    </tr> 
    </table> 

     </td> 
    <td style="border-bottom:3px solid #000000;" >&nbsp;</td> 
    <td style="border-bottom:3px solid #000000;" >&nbsp;</td> 
    <td style="border-bottom:3px solid #000000;" >&nbsp;</td> 
    <td style="border-bottom:3px solid #000000;" >&nbsp;</td> 
    <td style="border-bottom:3px solid #000000;" colspan='4' rowspan='1' > 

    <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
     <tr> 
    <td align='left'><font color='#FF0000'>Ship</font></td> 
    </tr> 
     </table> 
    <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
    <col align='right' /> 
    <tr> 
    <td align='left'><font color='#000000'>P2015</font></td> 
    <td align='right'><font color='#008000'>K.Loin</font></td> 
    </tr> 
     </table> 
    <table cellspacing='0' border='0' width='100%'> 
    <col align='left' /> 
    <tr> 
    <td align='left'><font color='#000080'>22-29, 32-36</font></td> 
     </tr> 
     </table> 

     </td> 
     <td style="border-bottom:3px solid #000000;" colspan='12' rowspan='1' > 

     <table cellspacing='0' border='0' width='100%'> 
     <col align='left' /> 
     <tr> 
     <td align='left'><font color='#FF0000'>Mobility</font></td> 
     </tr> 
     </table> 
     <table cellspacing='0' border='0' width='100%'> 
     <col align='left' /> 
     <col align='right' /> 
     <tr> 
     <td align='left'><font color='#000000'>P2222</font></td> 
     <td align='right'><font color='#008000'>D.Met</font></td> 
     </tr> 
     </table> 
     <table cellspacing='0' border='0' width='100%'> 
     <col align='left' /> 
     <tr> 
     <td align='left'><font color='#000080'>22-29, 32-36</font></td> 
     </tr> 
    </table> 

     </td> 
    </tr> 

它的時間表,這只是monday.the休息太長,但它仍然像上週一做我想要顯示像9:00和時代9:15,週一,聲音,P2016,P.Man,船舶,K.Lion,P2015

+0

您是否在控制檯中獲得正確的輸出?如果您只是設置了一些文本,TextView是否可見? – BadCash

+0

你能分享一些日誌嗎?比如當你打印buf.toString()時你會得到什麼,以及你在文檔中有什麼? –

回答

0

做到這一點,這是根據你previous question

Document doc = Jsoup.parse(buf.toString()); 
StringBuilder sb = new StringBuilder(); 

Elements tableElements = doc.select("td[colspan='1']"); 
TextView textView = (TextView)findViewById(R.id.text_view); 
for (Element td : tableElements) { 
    sb.append(td.text() + "\n"); 
    System.out.println(td.text()); 
} 
textView.setText(sb.toString()); 
+0

getText()位出錯,是否必須在content_main中定義它? – DW41

+0

你有什麼錯誤? –

+0

無法解析方法getText() – DW41

相關問題