在android中解析xml文件时,我这样做:
try
{
InputStream is = ...
MyContentHandler ch = new MyContentHandler();
Xml.parse(is, Encoding.UTF_8, ch);
}
catch ...
问题是有时我试图解析的文件格式不正确。就我而言,可能存在未声明的命名空间。
我感兴趣的数据不在这些标签内,所以我可以简单地忽略它,但我得到一个未绑定前缀的异常,它不在内容处理程序内,而是在解析器本身;这意味着如果发生异常,整个解析过程将被中断。
有没有一种方法可以使用 sax 解析器忽略这种错误(或完全没有命名空间)?
ps 我想避免将内存中的所有文件作为字符串加载并从中剥离名称空间,或者必须重写文件。