当Android在解析XML时遇到GBK或者gb2312编码时会无法解析或者出现乱码,故需要在解析时判断一下RSS的编码方式,
并使用InputStreamReader(rssUrl.openStream(),encodingName)指明编码方式,就可以解析了。
//防止遇到某些编码(如GBK)时出现错误
//得到探测器代理对象
CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();
//向代理对象添加探测器
detector.add(JChardetFacade.getInstance());
//得到编码字符集对象
Charset charset = detector.detectCodepage(rssUrl);
//得到编码名称
String encodingName = charset.name();
Log.e("RssReader_Encoding", encodingName);
//指定编码生成字符流
if(encodingName.equals("GBK") || encodingName.equals("gb2312")){
is = new InputSource(new InputStreamReader(rssUrl.openStream(),encodingName));
}
else{
is = new InputSource(rssUrl.openStream());
}
xmlreader.parse(is);
采用一个现成的开源项目:cpdetector可以判断编码方式,它所在的网址是:http://cpdetector.sourceforge.net/。它的类库很小(见附件),只有500K左右。具体方法可参照下方链接。
链接:判定文件编码或文本流编码的方法
分享到:
相关推荐
解析代码示例: import net.xfok.rss.parser.Feed; import net.xfok.rss.parser.Rss; ...... String url="http://www.xfok.net/news/rss.xml"; Rss rss=new rss(url); List<Feed> feeds=rss.getFeeds(); ...... 欢迎...
还可以作为ConverterFactory用于翻新和加油分析RSS RSS解析器,适用于android在整个咖啡店中简单,简洁,可扩展的RSS解析器。 它可以从RSS文章中捕获这些信息:标题描述链接发布日期图像项GUId语言媒体作者类别...
NULL 博文链接:https://phenom.iteye.com/blog/668238
android RSS博客阅读程序,使用XML SAX解析技术
一个很方便大家学习RSS,如何使用SAX进行解析XML文件的小项目,也很实用~本项目在博客上有相应的解析,方便大家理解。。。
通过解析Xml获取RSS的新闻资源,现在各大RSS网站上的资源都可以轻松获取。
KtRssReader KtRssReader是Kotlin库,用于在Android上解析RSS feed。 支持RSS 2.0标准,iTunes和Google Play标签易于使用的API为您获取提要数据库缓存和自定义缓存有效时间入门下载首先,您可以将此存储库添加到项目...
特征伯爵同时解析Atom和RSS 1.0 / 2.0 支持RSS扩展(目前为Itunes和Media RSS) 它很轻巧。 除了解析器之外,什么都没有。 它唯一的依赖项是android批注解析器生成易于使用的不可变POJO 在从Android 2.2(API 8)...
实战篇(第2~8章),详细讲解了TCP、UDP、HTTP等基本网络协议在Android上的应用,展示了使用Android处理JSON、SOAP、HTML、XML等数据的方法,讲解了Android中的RSS编程、Email编程、OAuth认证等,解析了Android中...
借助这个库,您可以使用 Android 中可用的 SAX API 轻松解析 RSS 提要。 用法 您可以通过简单地调用RssReader.read(URL url)来使用 API。 这将向提供的 url 发出请求并将其解析为RssFeed和RssItem对象。 没有比这更...
9.1.4 Android解析Intent实现 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 应用实例详解 9.3.1 程序操作演示 9.3.2 实例编程实现 9.4 本...
一个AndroidRss阅读器,用来学习如何解析Rss,
使用Google Android ArchitectureComponents库实现的Kotlin RSS 阅读器
9.1.4 Android解析Intent实现 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 应用实例详解 9.3.1 程序操作演示 9.3.2 实例编程实现 9.4 本...
9.1.4 android解析intent实现 179 9.2 用广播告诉你——利用intent来广播(broadcast)事件 180 9.2.1 实现android中的广播事件 180 9.2.2 broadcast receiver介绍 181 9.3 应用实例详解 181 9.3.1 ...
是属于一析种xml格式规范,学用于更更新数据的网站,例如博客,文章,新闻,音乐或视频的网站上,这些网站会提供用 类。户让阅网站所发布的RSS,且可让用户自行决定想要接收的信息
Android 小部件显示来自记住牛奶列表的任务(解析 RSS 提要)
Android RRS阅读器 使用XML解析来填充RecyclerView的RSS阅读器。 如果连接到网络,则将保存提要(SQLite),以供以后脱机使用。 包括用于列表过滤的SearchView。
9.1.4 Android解析Intent实现 9.2 用广播告诉你——利用Intent来广播(BroadCast)事件 9.2.1 实现Android中的广播事件 9.2.2 BroadCastReceiver介绍 9.3 应用实例详解 9.3.1 程序操作演示 9.3.2 实例编程实现 9.4 本...
当然本资源是一个安卓入门小项目,参考android入门教程,页面也比较简单,两个activity,关键部分是RSS的XML文档解析部分,现在好像没太多这类资源,重点部分是RSSHandler类,涉及到解析编码格式问题不太熟悉;...