我在 Eclipse 中有一个 Java 项目,我在其中下载 CNN 技术 RSS提要,然后使用 SAX 解析并获取提要中的项目数。
//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 中使用此代码时,我得到一个解析器异常就行了
reader.parse(is);
我在 Android 中更改的唯一代码是
//download file
FileOutputStream out = context.openFileOutput(FILE_PATH, Context.MODE_PRIVATE);
//read file
FileInputStream stream = context.openFileInput(FILE_PATH);
知道为什么会这样吗?或如何解决?
我得到的确切错误是带有消息“在第 1 行,第 0 列:格式不正确(无效令牌)”的 SAXException