【问题标题】:How to trace a "ExpatParser$ParseException at line 1 column 0 no element found?如何在第 1 行第 0 列没有找到元素时跟踪“ExpatParser$ParseException?
【发布时间】:2014-05-30 12:39:12
【问题描述】:

正如问题所述,我想知道如何追踪此类错误的原因。

在研究这个错误的过程中,我发现了各种使用输入流的东西。当它被调用两次时,它会给出异常。但是,我的代码与那些代码不同。我在 ViewPager 中使用 AndroidSaxParser。每个片段都执行一个 AsyncTask,它解析一个 rss 并将数据加载到一个 ListView 中。

问题是随机发生的,因此很难追踪问题的原因。我还注意到,在 api 14+ 设备上根本不会出现问题。它只发生在我的 api 8 设备上,可能在其他设备

我得到的确切的 Expat 错误是:

ExpatParser$ParseException at line 1 column 0 no element found

LogCat 指向的代码只是启动解析器的代码,但没有什么是 null 或与它正确执行的时间不同。

    try
    {
        Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
    }
    catch (Exception e)
    {
        Log.e("parser", "PARSER CRASHED");
        Log.e("expat", "inputStream " + this.getInputStream() + " xml " + Xml.Encoding.UTF_8 + " contentHandler " + root.getContentHandler());
        Log.w("the feed", "" + rssFeed);
        throw new RuntimeException(e);
    }

痕迹: errors

【问题讨论】:

    标签: android saxparser


    【解决方案1】:

    你使用的inputStream在解析的时候是空的。先读取整个inputStream再解析内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-12
      • 2011-11-08
      • 1970-01-01
      • 2012-02-08
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多