Android rss (rss 2.0和atom)解析错误:行xxx列xxx:格式不正确(无效令牌)



我尝试创建我的第一个Rss阅读器,但我有一个问题。我有一个类,它的方法返回提要列表。

public ArrayList<FeedsItem> getFeedList()
        {
            final FeedsItem fi = new FeedsItem(Const.appDebugMode);
            final ArrayList<FeedsItem> fl = new ArrayList<FeedsItem>();
            /**
             * xml parse elements
             */
            RootElement root = new RootElement("rss");
            Element channel = root.getChild("channel");
            Element item = channel.getChild("item");

            item.setEndElementListener(new EndElementListener()
                {                       
                    @Override
                    public void end()
                        {
                            fl.add(fi.getCopy());                               
                        }
                });
            item.getChild("title").setEndTextElementListener(new EndTextElementListener()
                {                       
                    @Override
                    public void end(String body)
                        {
                       fi.setTitle(body);                               
                        }
                });     
            item.getChild("link").setEndTextElementListener(new EndTextElementListener()
                {                       
                    @Override
                    public void end(String body)
                        {
                            fi.setLink(body);                           
                        }
                });
            item.getChild("description").setEndTextElementListener(new EndTextElementListener()
                {                       
                    @Override
                    public void end(String body)
                        {
                            fi.setDescr(body);                              
                        }
                });
            item.getChild("pubDate").setEndTextElementListener(new EndTextElementListener()
                {
                    @Override
                    public void end(String body)
                        {
                            fi.setPubDate(body);                                
                        }
                });
            item.getChild("guid").setEndTextElementListener(new EndTextElementListener()
                {                       
                    @Override
                    public void end(String body)
                        {
                         fi.setGuid(body);                          
                        }
                });             
            /**             
             * парсим feed               
             */
            try
                {
                    Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
                } catch (Exception e)
                {
                    new FeedsParserWriteLog(Const.appDebugMode)
                     .WriteLog("FeedsParcer getFeed (parse xml) err= n"+e.getLocalizedMessage());
                    throw new RuntimeException(e);
                }
            return fl;
        }

当我处理文件格式rss 2.0 -一切工作(像这个链接http://news.yandex.ru/software.rss)当我处理文件格式原子(如此链接http://ithappens.ru/rss/)-我有一个问题错误:行xxx列xxx:格式不佳(无效令牌)

如何处理两种格式?我如何重写方法来处理2种格式?

thx

我和你一样遇到了同样的问题,在我的情况下,问题是我使用的是HttpURLConnection,响应是GZipped。似乎urlConnection没有为你解压缩,所以你必须自己做。

在这里你可以找到如何如果你需要。

我希望它有帮助!

相关内容

最新更新