首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

硕大无比xml文件解析

2012-12-22 
超大xml文件解析对于普通大小xml的解析,现在有许多的插件能很好的支持,比如dom4j,JDOM等,由于已经做过一层

超大xml文件解析

对于普通大小xml的解析,现在有许多的插件能很好的支持,比如dom4j,JDOM等,由于已经做过一层封装。因此,用起来也很方便。

当然对于这样的xml解析没有什么问题,也不必花费笔墨去探讨了。

前两天遇到一个300多M的超大xml解析,基本用什么编辑器打开,什么编辑器就崩溃的。

如果用类似dom4j等解析方式,在解析之前需要把文件先加载到内存

?File xmlFile = new File(fileName);

?

??SAXReader saxReader = new SAXReader();?Document document = saxReader.read(xmlFile);由于文件超大,基本什么服务器都会OutOfMemory;不给力了啊····结果也可想而知
后来使用了SAX处理方式,解析一点文件读取一点到内存,这样就不会再出现内存溢出情况,具体请看代码AnalyticElongHotelXml analyticElongHotelXml = new AnalyticElongHotelXml(elongHotelsDAO);
?sp.parse(new InputSource("D:\\Projects\\tour\\src\\com\\elong\\message\\Hotel_cn.xml"),analyticElongHotelXml);


我们可以重写DefaultHandler类的characters,startElement等方法,在里面实现自己需要的业务逻辑

?

?

热点排行