超大xml文件解析
对于普通大小xml的解析,现在有许多的插件能很好的支持,比如dom4j,JDOM等,由于已经做过一层封装。因此,用起来也很方便。
当然对于这样的xml解析没有什么问题,也不必花费笔墨去探讨了。
前两天遇到一个300多M的超大xml解析,基本用什么编辑器打开,什么编辑器就崩溃的。
如果用类似dom4j等解析方式,在解析之前需要把文件先加载到内存
?File xmlFile = new File(fileName);
?
??SAXReader saxReader = new SAXReader();?Document document = saxReader.read(xmlFile);由于文件超大,基本什么服务器都会OutOfMemory;不给力了啊····结果也可想而知?sp.parse(new InputSource("D:\\Projects\\tour\\src\\com\\elong\\message\\Hotel_cn.xml"),analyticElongHotelXml);
我们可以重写DefaultHandler类的characters,startElement等方法,在里面实现自己需要的业务逻辑?
?