【发布时间】:2013-04-13 08:56:51
【问题描述】:
我知道我们基本上应该在这里尝试做我们自己的东西,这不是提出请求的地方,但我真的很讨厌不得不从 Html 阅读东西,我真的不明白它的方式。
所以,我将奖励 150 分(并不是说我很便宜,我只是不能做得更多:()如果我能得到一些好的帮助,或者至少被指向正确的方向一些示例代码。
我想要完成什么?
- 我正在尝试从以下Nasa page 获取最新消息。
- 我打算在ListView上显示这条新闻,当然,ListView一开始显示的内容很少,只有通过上面的页面可以获得的数据,这里是一个快速的mock-up。
就是这样,当用户单击链接时,他们将被带到显示完整 article 的不同片段,我将在稍后完成此操作后弄清楚如何获得它。
所以,我尝试使用带有以下位的 HtmlCleaner:
private class CleanUrlTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
//try cleaning the nasa page.
mNode = mCleaner.clean(mUrl);
} catch (Exception e) {
Constants.logMessage("Error cleaning file" + e.toString());
}
return null;
}
@Override
protected void onPostExecute(Void result) {
try {
//For now I am just writing to an xml file to sort of read through
//God is HTML code ugly.
new PrettyXmlSerializer(mProps).writeToFile(
mNode, FILE_NAME, "utf-8"
);
} catch (Exception e) {
Constants.logMessage("Error writing to file: " + e.toString());
}
}
}
但是从那里开始,我几乎迷路了。这是XML output 顺便说一句。然而,我确实注意到,对于每篇文章内容,某些tag hierarchy 有某种重复,它似乎是这样的:左用于图像和文章链接,右用于文章标题和预览内容
所以,如果有人愿意帮助我弄清楚如何以某种方式获取内容,我将不胜感激。
顺便说一句,这个项目是为了教育目的,作为 2013 年 NASA 国际太空应用挑战赛的一部分,更多信息 here。
作为一个额外问题,同一链接包含当前、未来和过去探险的信息,包括当前成员,对于探险的每个成员,都有一个指向他们的简历页面的链接。
这些标签似乎并不重复,但名称似乎是预设且不变的,您有“tab1”、“tab2”和“tab3”,等等。
我想从中获得的是:
- 远征号和日期。
- 探险队成员
- 每个会员个人简历的链接。
再次感谢您的支持,如果有的话,我真的很感激。
【问题讨论】:
标签: android html-parsing htmlcleaner