【问题标题】:Android rss (rss 2.0 and atom ) parse error : line xxx column xxx:not well-formed (invalid token)Android rss (rss 2.0 and atom) 解析错误: line xxx column xxx:not well-formed (invalid token)
【发布时间】:2015-01-11 17:29:42
【问题描述】:

我正在尝试创建我的第一个 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/)- 我有一个问题error : line xxx column xxx:not well-formed (invalid token)

我如何处理这两种格式?如何重写处理两种格式的方法?

谢谢

【问题讨论】:

  • 如何检查字符集?

标签: android xml xml-parsing


【解决方案1】:

我遇到了和你一样的问题,我的问题是我使用 HttpURLConnection 并且响应是 GZipped.. 似乎 urlConnection 不会为你解压,所以你必须自己做。

Here 如果需要,您可以了解如何操作。

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多