Android RSS阅读器 - 教程错误

时间:2012-05-29 17:00:45

标签: java android xml rss xml-parsing

我花了一天时间研究Android RSS阅读器。

我想在我的应用程序中解析一个非常简单的XML文件。 http://www.sportinglife.com/rss/transfer_wire.xml

此网站上有几个主题回答RSS问题,例如https://stackoverflow.com/questions/1253788/simple-rss-parser-for-android。我已经尝试了所有解决方案,但是在运行代码时我在Eclipse中一直遇到错误。

我从2012年4月找到了最新的IBM Tutorial,它非常好地解释了代码,并且只在一个类文件中提供了解决方案。 http://www.ibm.com/developerworks/xml/library/x-androidxml/index.html

我已逐步遵循本教程,但Eclipse会抛出以下错误:

[Dex Loader] Unable to execute dex: Unexpected magic: [100, 101, 120, 10, 48, 49, 51, 0]
[FootballTransfers] Conversion to Dalvik format failed: Unable to execute dex: Unexpected magic: [100, 101, 120, 10, 48, 49, 51, 0]

以前有人遇到过这个问题吗?我不知道这个错误意味着什么。

当我运行https://stackoverflow.com/questions/1253788/simple-rss-parser-for-android线程中提供的解决方案时,我得到了同样的错误。

1 个答案:

答案 0 :(得分:1)

传递输入流而不是网址

 @Override
        protected Void doInBackground(String... urls) {

 arrayList = new NewsParser().getData(NewsMainActivity .this.getResources.openRawResourece(R.xml.feed));

            return null;
        }

并在getData方法中将参数更改为InputStream。

 public List<NewsBean> getData(InputStream istream) {
    DocumentBuilder builder = DocumentBuilderFactory.newInstance()
                    .newDocumentBuilder();

            System.out.println("Builder : " + builder);

            Document doc = builder.parse(istream);
    Document doc = builder.parse(istream);
.....
}