SAX解析XML,与内存无关吗?
SAX
优点:Parsing速度快,内存占用不与XML的大小相联系(可以做到XML涨内存不涨)。
正确吗?
有例子来证明吗?
Thread t = new Thread()
{
public void run()
{
while (true)
{
long time = System.currentTimeMillis()
/ (1000 * 60);
float freeMemory = (float) Runtime.getRuntime()
.freeMemory() / 1024;
float totalMemory = (float) Runtime.getRuntime()
.totalMemory() / 1024;
logger.info("run time:" + time
+ "minutes:totalMemory:" + totalMemory
+ "K;freeMemory:" + freeMemory + "K");
try
{
Thread.sleep(30 * 1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
};
t.start();
自己测测看啊。
现在遇到的是有个600M的XML文件要解析,如果用dom和VTD—XML,都会出现内存溢出,
如果采用SAX来解析,还会出现内存溢出吗?
将来会有更大的XML文件,内存溢出已经成为了瓶颈,用SAX能解决内存溢出吗?
http://news.newhua.com/news1/program_net/2009/410/0941010472H2D1I1783HJB2BK06G2I0KCA0EIDIBBE5K645DFICFBBD.html
看看这个 有例子。。。
这个问题 你要知道dom和sax的区别
sax是事件驱动的。就是简析一点 然后加载一点 不会一次全都加载到内存里,对于大型xml文档时没问题的
相关问答:
如何对xml内容数据进行比较
例如:
<?xml version='1.0' encoding='utf-8'?>
<TestLIST>
<PID>40</PID>
<TestName>深圳市</TestName>
......
从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
<folder state="unchecked&qu ......
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<video>
<device deviceid="\\?\usb#vid_0c45&pid_613b#5&2d0620de& ......
在Sqlserver数据库Northwinds中创建一个存储过程,
该存储过程有两个参数,nvarchar(5)类型的@customerID 是customers表的customerID, xml类型的参数@xmlCustOrder是输出参数,存储过程将根据orders和customers 表 ......
想用XML加FLASH 做统计报表 ,,有没有人有好的建议呀~~就是把XML里的内容导入到做好的FLASH模块里面去。。。
帮顶
你没用过开源的OpenFlashChart吗?
试试FusionChart
数据源就是XML的
http://www.fusionc ......