易截截图软件、单文件、免安装、纯绿色、仅160KB

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文档时没问题的


相关问答:

利用C#编写txt转化到xml的程序

txt 和XML 格式相应
不借助DataSet
导入读取TXT文件
然后直接写入XML(同一文件,不同数据,递增原数据没有被覆盖情况下增加数据.)
教个要点或最好是有个代码提示的
过路好汉 帮个忙撒^^
不会,帮楼主 ......

C# DataSet导出xml 批处理(循环)得怎么处理

DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
      <B>
        <C>
        </C>
  &nb ......

数据以xml格式返回 - MS-SQL Server / 应用实例

从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
   <folder state="unchecked&qu ......

C# 语法导出XML 的编码设置

我现在做接口导出,.NET平台,开发语言C#,想导出XML的文本格式。
想得到 <?xml version="1.0" encoding="GBK"?> 
的编码格式!怎么设置?谢谢!急!


只要保存为xml格式, ......

请问如何取XML的属性值 - .NET技术 / C#

我有一个XML.想取
<Portfolio _Name="XXXX" _Id="AUD" >
中的属性_Id的值.但是用下面的语句好象不行.
 XmlNode CId = xdoc_Msg.SelectSingleNode("/Portfolio");
&n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号