jsoup解析代码无法正常工作(Android)

时间:2012-08-11 09:18:15

标签: java android html parsing jsoup

解析html时遇到问题。我想从这个网站http://www.zmksstalowawola.pl/taranhtml/linie_r.htm中检索所有表格,并获取每个收到的表格的第二个单元格。这是我为了达到这个效果而编写的代码。要检查代码是否正常,我添加了TextView以显示已接收的单元格。

Document document = Jsoup.connect("http://www.zmksstalowawola.pl/taranhtml/linie_r.htm").get();
TextView tv = (TextView)findViewById(R.id.htmlView);
ArrayList<String> arrayList  = new ArrayList<String>();
Elements tables = document.select("table");
for (Element table : tables) {
        String rowData = table.select("td").get(1).toString();
        arrayList.add(rowData);
        tv.setText(rowData);
}

问题是TextView不会显示来自单元格的任何文本(只有我在xml活动文件中写入的文本)。我在许多网站教程中寻找答案,它应该工作。我已经设置了INTERNET权限,所以这不是重点。我也有所有必需的库。如果有人知道它为什么不起作用,我将非常感谢你的帮助。  对不起,我的语言很差

1 个答案:

答案 0 :(得分:0)

toString()可能不适合你。如果您确定自己的document中包含所需的HTML,则应使用text()执行此操作,如下所示:

Document document = Jsoup.connect("http://www.zmksstalowawola.pl/taranhtml/linie_r.htm").get();
TextView tv = (TextView)findViewById(R.id.htmlView);
ArrayList<String> arrayList  = new ArrayList<String>();
Elements tables = document.select("table");
for (Element table : tables) {
    String rowData = table.select("td").get(1).text();  //text() instead of toString()
    arrayList.add(rowData);
    tv.setText(rowData);
}