我正在使用SAX解析器解析一个大的xml文件(大约50mb),我遇到了一个问题,我无法用我在论坛上找到的答案解决这个问题:
parsing huge length string using sax parser in android
我的问题出在"角色"功能
public void characters(char[] ch, int start, int length)
throws SAXException {
if(mQuery){
String vQuery = new String(ch,start,length);
...
}
我正在解析的查询有时可能非常大(> 2500个字符),我听说SAX可以解析的最大块大小是1024.这就是为什么我的程序在遇到一个巨大的字符串时挂起。
我尝试了上一篇文章中给出的解决方法(使用临时字符串或使用StringBuilder对象附加String),但没有一个工作。
由于性能问题,我不愿意使用其他xml解析器:它是一个小程序,它意味着快速执行。
感谢您的建议。