正确终止SaxParser的流,避免“意外的文件结束”异常

时间:2011-04-20 03:54:59

标签: android xml saxparser saxparseexception

我在Android上引用here的问题时遇到了同样的问题。

给出的解决方案是使用URI而不是输入流。

我相信您可以使用inputStream作为API指示,但显然使用parse方法引发异常的流有问题。我可以确认所有数据都进入流中,并且SAXParseException指示所有数据都将转到parse方法,因为我可以使用返回-1的getColumnNumber方法(表示已读取整个流)。但看起来解析方法并不认为这是流的结束,从而引发了“意外的文件结束”(?)

有人可以建议如何使用输入流而不是URI作为解析方法的输入吗?

1 个答案:

答案 0 :(得分:1)

我遇到了这个问题,但原因是我接受了错误编码格式的输入流。确保首先将其置于正确的编码中(可能通过以byte []的形式读取并使用String(byte [],String)构造函数),然后尝试通过SAX解析器。

如果您想在Android中解析XML,那么最好使用Simple library in Android