sax解析大xml文件
工作中遇到要处理30M左右的文件,测试了下dom4j,最多10M多点,11M就 out of memory, 于是最后选择了直接用sax进行解析:
?
ReadXMLFileSAX类:
??
?xml文件:
<?xml version="1.0"?><company><staff name="aaaaa"><firstname>yong</firstname><lastname>mook kim</lastname><nickname>mkyong</nickname><salary>100000</salary></staff><staff name="bbbbbb"><firstname>low</firstname><lastname>yin fong</lastname><nickname>fong fong</nickname><salary>200000</salary></staff></company>??
注:可以在startElement方法的attributes中获取element的属性信息,然后再endElement中让element与它的attribute对应。由于xml文件很大,尽量不要把解析的所有信息放在内存,譬如集合多少信息,插入数据库,再清空,再继续下面的解析。
1 楼 NickRambo 2012-04-10 我的问题是,通过httpPOST 向服务器请求一个较大内容的XML文件,然后在手机端进行解析,但是解析到一半的时候就提示了out of memorry。不知道怎么解决这种问题,用的是inputStream, 如果不采用插入数据库的方式,能不能通过其他方式来解决。急求~~~~·