【发布时间】:2011-06-12 22:17:41
【问题描述】:
我已经搜索了很多天,现在试图找到以下问题的答案。我是 Java 和 Android 编程的新手,主要从复制粘贴编辑场景中学习,但尽管有一些教程,但我真的在这方面苦苦挣扎。
我已经尝试将 htmlcleaner 作为我的解析器,我确信我已经很接近了,但只是无法做到这一点。
我正在尝试将网站上的值表(即<TR>TD,TD,TD,TD</TR>)解析为标准的 Android SQLite 数据库。所以表的每一行都是数据库中的一行。
理论上这应该很简单,但我被不同的方法弄得一头雾水,不明白一个简单干净的方法。
有人可以帮忙吗?请不要将我指向 htmlparser 或非特定教程,因为我已经在这些领域工作了很长时间并且无法管理解决方案。
我要解析的表值在这里:Teams and values
编辑:::
好的,我想我正在接近使用 JSoup。我可以从 [td] 标记中获取一个值并将其放入一个字符串中。但是,如何调整以下代码,以便为每个“for”迭代每一行(即在每个 [tr] 内),并将每个 [td] 值放入一个字符串数组?
public class GetTable extends Activity {
static String hello;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testlayout);
try {
populateTexts();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void populateTexts() throws IOException{
String url = "http://news.bbc.co.uk/mobile/bbc_sport/rugby/competition/ru100/table/index.shtml?context=cps_ukfs";
Document doc = Jsoup.connect(url).get();
Elements links = doc.select("td");
for (Element link : links) {
hello = link.text();
TextView twittertext10 = (TextView)findViewById(R.id.testView1);
twittertext10.setText(hello);
}
}
}
【问题讨论】:
-
你的问题在哪里更具体?显示一些代码以指示您的问题所在。我个人想不通。
-
对不起,很难在不使问题复杂的情况下提供代码,因为我的问题是找不到正确的代码。简而言之,我正在尝试从链接中的表中获取数据(团队名称、玩过的游戏、积分等)并填充 Android SQLite 数据库。所以表中的每一行都与 SQLite 表中的每一行相同。
-
我已经成功地从一个 iCal 文件中解析了这个,但我真的很难遍历一个 html 表并填充数据库。我已经尝试过 htmlcleaner,但我找不到一个很好的教程来展示如何填充数据库或使用结果递归填充字符串。它们似乎都填充了列表。提前致谢
标签: java android html parsing html-table