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文档时没问题的
相关问答:
txt 和XML 格式相应
不借助DataSet
导入读取TXT文件
然后直接写入XML(同一文件,不同数据,递增原数据没有被覆盖情况下增加数据.)
教个要点或最好是有个代码提示的
过路好汉 帮个忙撒^^
不会,帮楼主 ......
DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
<B>
<C>
</C>
&nb ......
从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
<folder state="unchecked&qu ......
我现在做接口导出,.NET平台,开发语言C#,想导出XML的文本格式。
想得到 <?xml version="1.0" encoding="GBK"?>
的编码格式!怎么设置?谢谢!急!
顶
只要保存为xml格式, ......
我有一个XML.想取
<Portfolio _Name="XXXX" _Id="AUD" >
中的属性_Id的值.但是用下面的语句好象不行.
XmlNode CId = xdoc_Msg.SelectSingleNode("/Portfolio");
&n ......