XML文件大小问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML文件大小问题相关的知识,希望对你有一定的参考价值。

一个XML文件有2G那么大
这样读写的时候会占多少内存?用Dom4j解析,速度怎么样
SAX方式解析会不会不占多少内存呢
有没有人做过类似的测试或者有什么权威数据

SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。

选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。

DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。

SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工作会比较困难,而且很难同时访问同一个文档中的多处不同数据。
参考技术A 快捷程序的小箭头是系统自带的,并不影响操作,对于前一个问题则可能是写垃圾文件,在确定之后直接删除即可(如果没有把握就先将其移动到其他位置,如果系统没有异常即可删除)。追问

关快捷方式小箭头神马事,发错地方了吧

参考技术B 没试过2个G的xml,但几百兆的遇到过,用Dom4j的方式的会出现内存溢出问题,SAX相对要好一些,内存占用不是很多

eclipse怎么设置xml文件字体大小

参考技术A 字体大小调整:Window / Preferences / General / Appearance / ColorsAnd Fonts ,在右边的对话框里选择Java - Java Editor Text Font
点击出现的编辑(Edit)按钮,可以设置显示在在主窗体中程序的字体大小,设置完之后点击右下角的应用(Apply),最后点击确定(OK)即可。本回答被提问者采纳

以上是关于XML文件大小问题的主要内容,如果未能解决你的问题,请参考以下文章

eclipse怎么设置xml文件字体大小

myeclipse修改xml文件字体大小

生成大约 3GB 文件大小的大型 xml 的方法

SharedPreferences XML 文件会增加它的大小吗?

如何获取 XML 文件(存储在 SQL DB 中)的大小?

c# 用XML保存控件的位置、大小等信息,XML格式如下,求写XML文件的函数,要具体代码