RSS阅读器练习笔记————内容页面显示及html转码

本文来自http://blog.csdn.net/chenshaoyang0011转载请申明出处!

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

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




  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值