如何解析50M大小得XML文件

jbuilder7 2005-08-04 09:03:01
由于XML文件太大,有什么版本能提高效率
...全文
185 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
joincsdn 2005-08-05
  • 打赏
  • 举报
回复
这么大的XML文件要用DOM解析效率肯定是不能让楼主满意的

如果楼主真想完成对一个50M XML文件的解析建议楼主还是采用SAX对该文件进行解析
厌烦修改代码是写不出高质量程序的
CrazyBoBo 2005-08-04
  • 打赏
  • 举报
回复
恩,DOM 是把XML所有的文章都读进内存,所以如果XML比较大的时候,就很好内存了,速度也慢。DOM就好比看一本书,把这个书都背下来,然后再用。而SAX相对于DOM则是只看目录,不是全部都读的,需要那部分就用那部分。SAX 解析器使用回调用机制来通知客户端应用程序,而不是将整个文档都存储再内存中,即使是处理大型的文档也不会占用大量的内存
pipinews 2005-08-04
  • 打赏
  • 举报
回复
我最近看了一下,那个大的XML的处理哦,如果相对很大的XML,要用那个SAX来处理哦,他是一次性的读,用那个DOM,好像很耗用内存的哦
CrazyBoBo 2005-08-04
  • 打赏
  • 举报
回复
建议用SAX。SAX适合比较大的XML。而且内存占用的没有DOM那么大。DOM是一次将所有的XML读到内存里面生成一个DOM TREE ,所以不适合你的这个文档。 具体的使用SAX的方法,查看下帮助文档。
jbuilder7 2005-08-04
  • 打赏
  • 举报
回复
商业原因,文件是不能变小了。
只能想办法提高效率
zzzle 2005-08-04
  • 打赏
  • 举报
回复
建议用JDOM改写代码
zzzle 2005-08-04
  • 打赏
  • 举报
回复
如果不想改代码的话,可以把一个拆分成多个小文件。
wzrain 2005-08-04
  • 打赏
  • 举报
回复
再快的效率也是需要时间的,唯一不可理解的是你为什么会有这么大的一个XML呢,难道就没有办法把它弄小点吗?
jbuilder7 2005-08-04
  • 打赏
  • 举报
回复
t听说SAX是将XML文件分批放入内存,所以比Dom要快,也节省内存。不知道效率能提高多少

目前的代码已经用Dom完成,所以不想对代码有大的改动,所以看有没有别的办法

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧