能够在Java项目中解析RSS feed文件,在Android中无法解析

时间:2013-10-14 17:33:05

标签: java android xml rss saxparser

我在Eclipse中有一个Java项目,我下载CNN技术RSS feed,然后使用SAX解析并获取Feed中的项目数。

//download file
URL url = new URL(address);
InputStream is = url.openStream();
FileOutputStream fos = new FileOutputStream("newsfeed.xml");

byte[] buffer = new byte[1024];
int bytesRead = is.read(buffer);
while (bytesRead != -1) {
    fos.write(buffer, 0, bytesRead);
    bytesRead = is.read(buffer);
}

fos.close();
is.close();

//read file
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();

RSSHandler handler = new RSSHandler();
reader.setContentHandler(handler);

FileInputStream fis = new FileInputStream("newsfeed.xml");
InputSource is = new InputSource(fis);
reader.parse(is);

然而,当我在Android中使用此代码时,我在行

上得到了一个Parser Exception
reader.parse(is);

我在Android中更改的唯一代码是

//download file
FileOutputStream out = context.openFileOutput(FILE_PATH, Context.MODE_PRIVATE);

//read file
FileInputStream stream = context.openFileInput(FILE_PATH);

知道为什么会这样吗?或者如何解决它?

我得到的确切错误是SAXException,消息“在第1行,第0列:格式不正确(无效令牌)”

1 个答案:

答案 0 :(得分:0)

试试这个..

使用以下网址

http://iamvijayakumar.blogspot.in/2012/06/android-rss-feed-reader-example.html

使用AsyncTask的CustomAdapter的RSS解析器