2016-04-03 7 views
0

私の解析に問題があると考えてください。私はAndroid StudioでJSoupとJavaを使用しています。私は、ローカルhtmlファイルから情報をスクレープし、私のアプリに表示しようとしています。しかし、私はアプリを実行するとき、私がしたくないデータが表示されます。私は "9時"と "9時15分"のような時を表示したい。また、「サウンド」、「P2016」、「P.Mann」。 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'>Mon</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' > 

これはつまり、Javaは次のようになります。任意のアイデアを持っている

import android.app.Activity; 
    import android.os.Bundle; 
    import java.io.File; 
    import java.io.IOException; 
    import org.jsoup.Jsoup; 
    import org.jsoup.nodes.Document; 
    import org.jsoup.nodes.Element; 
    import org.jsoup.select.Elements; 
    import android.widget.TextView; 

public class MainActivity extends Activity { 

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

     File input = new File("C:\\Users\\user\\Desktop\\Mobile Newest\\JSoup\\app\\src\\main\\assets\\filename.html"); 
     Document doc = Jsoup.parse(input, "UTF-8"); 
     Elements tableElements = doc.select("td"); 
     TextView textView = (TextView)findViewById(R.id.text_view); 
     for (Element td : tableElements) { 
      textView.setText(td.text()); 
      System.out.println(td.text()); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    } 
} 

誰もが、なぜそれが画面に出てくるdoesntの?

答えて

0

問題は最終的にあなただけの、本質的に空白であるHTMLファイルのLASTtd要素のテキストを、見ることができますので、毎回あなたは、TextViewには、現在のtd.text()に置き換えられ、textView.setText(td.text())を呼んでスペース

+0

私はそれが私がそれを必要とするものを印刷するようにそれを変更しますか? – DW41