大型(超过200M) 200万行XML解析

jeff994 2011-07-07 08:07:00
在解析大型XML文件的时候,用SAX PARSER 解析,越到后面越慢。 花了超过一个小时解析完所有文件
(文件里面是几何图形,解析完了放在内存里,内存足够,CPU足够)
请问有什么解决方案么? 或者谁有经验解决类似的问题么?
...全文
505 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xfq520157 2013-06-28
  • 打赏
  • 举报
回复
楼主可以分享下如何解决的么,我也遇到要解析200-300M的XML但是我是学PB的,能力不足,能解析的起码得几十个小时
jeff994 2011-09-29
  • 打赏
  • 举报
回复
问题已经解决, 事情发现不是XML 的问题,, 这么大的文件 也就需要1-2分钟,是程序的其它部分出了问题
hztj2005 2011-08-22
  • 打赏
  • 举报
回复
我来学习
寒沙胜雪 2011-08-02
  • 打赏
  • 举报
回复
LINK TO XML
XML-DOM
XML-DATASET
CaptainGan 2011-08-02
  • 打赏
  • 举报
回复
解析一部分,放入数据库中,然后删除前面的内容,这样应该不会出现上面的问题。
苏丹-陈 2011-08-01
  • 打赏
  • 举报
回复
优化你的处理过程,别无它法。
a276786511 2011-07-12
  • 打赏
  • 举报
回复
XML不适合这么大的数据量啊
jeff994 2011-07-08
  • 打赏
  • 举报
回复
而且,也没好的关系数据库
jeff994 2011-07-08
  • 打赏
  • 举报
回复
不是随机读写,是要全部的读。
ImN1 2011-07-08
  • 打赏
  • 举报
回复
VTD-XML

http://vtd-xml.sourceforge.net/

masterz 2011-07-08
  • 打赏
  • 举报
回复
可以用文件型数据库,比如http://www.sqlite.org/
KK3K2005 2011-07-07
  • 打赏
  • 举报
回复
吧解析完的内容 作为一个内存映像 保存 或者缓存

如果是随机读写用的话 这么大 还是别用XML了
huntor 2011-07-07
  • 打赏
  • 举报
回复
.net Use XmlTextReader to parse large XML documents.
http://msdn.microsoft.com/en-us/library/ff647804.aspx#scalenetchaptch09 _topic8
huntor 2011-07-07
  • 打赏
  • 举报
回复
VTD-XML

Java: StAX or XPP3
挨踢直男 2011-07-07
  • 打赏
  • 举报
回复
把用 xml描述的数据转换成关系数据吧
关系数据库的优化方案比xml多的多
  • 打赏
  • 举报
回复
XML的根本特点是“开放性”。如果你只是自己的项目使用,就算使用自定义格式的TEXT文本文件,都比用XML强得多。
  • 打赏
  • 举报
回复
你用XML做这样的事,就得面对这样的后果。XML根本不适合作为大型数据存储载体。
masterz 2011-07-07
  • 打赏
  • 举报
回复
如果是解析的效率问题,可以考虑State pattern.
masterz 2011-07-07
  • 打赏
  • 举报
回复
曾经把element的名字放在map里面,有些element在xml里面只出现了一次,解析到以后就把它从map里面删掉。
加载更多回复(1)

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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