rss阅读器保存html文件,RSS阅读器练习笔记————内容页面显示及html转码

本文来自http://blog.csdn.net/chenshaoyang0011 RSS 以及 RSS 的 xml 解析中可能会遇到的一些问题之后,本文将介绍如何展示内容信息。 从 RSS 站点提供的 xml 中,我们得到的是新闻的列表,每条新闻中会给出详细内容的链接,因此最简单的处理展示内容的方式

本文来自http://blog.csdn.net/chenshaoyang0011

RSS以及RSS的xml解析中可能会遇到的一些问题之后,本文将介绍如何展示内容信息。

从RSS站点提供的xml中,我们得到的是新闻的列表,每条新闻中会给出详细内容的链接,因此最简单的处理展示内容的方式就是直接用WebView来加载链接或者调用系统中的浏览器来展示内容。但是这样给人的用户体验就不太好了,毕竟在手机上浏览网页(尤其是PC网页)的体验是难以让人满意的。这样以来,就需要我们对加载的网页进行转码(参见ZAKER),再用webView进行显示。

那么首先就需要对html代码进行修改,解析修改html的工具有很多,我用的是Jsoup,关于如何使用Jsoup网上可以找到许多相关的教程,这里就不再赘述了。这是Jsoup的主页http://jsoup.org/。

下面是一个简单的转码示例,测试网址为http://www.cnbeta.com/articles/228678.htm下面代码片段实现的效果是剔除掉超链接,将多余的内容剔除值留下需要的内容。

Document doc = null;

try {

doc = Jsoup.parse(new URL(mUrl), 15000);

} catch (MalformedURLException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

if(doc == null)

return null;

//删除javascript代码

Elements es = doc.select("script");

if(es != null){

es.remove();

}

//去除超链接

Elements hrefs = doc.getElementsByTag("a");

for(Element href : hrefs){

href.removeAttr("href");

}

//去除多余的内容

Element content = doc.getElementById("news_content");

content.getElementsByClass("digbox").remove();

content.getElementsByTag("a").remove();

然后再使用WebView加载修改后的html内容。

//content即已经修改后的html

String html = content.html();

webView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);

这样简单的html转码和内容显示就完成了,最后附上demo的链接http://download.csdn.net/detail/chenshaoyang0011/5114964

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值