读书人

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

发布时间: 2012-02-14 19:19:19 作者: rapoo

大型(超过200M) 200万行XML解析
在解析大型XML文件的时候,用SAX PARSER 解析,越到后面越慢。 花了超过一个小时解析完所有文件
(文件里面是几何图形,解析完了放在内存里,内存足够,CPU足够)
请问有什么解决方案么? 或者谁有经验解决类似的问题么?

[解决办法]
太大的没有什么特别好的做法,应该考虑使用数据库来执行这样的操作
[解决办法]
曾经把element的名字放在map里面,有些element在xml里面只出现了一次,解析到以后就把它从map里面删掉。
[解决办法]
如果是解析的效率问题,可以考虑State pattern.
[解决办法]
你用XML做这样的事,就得面对这样的后果。XML根本不适合作为大型数据存储载体。
[解决办法]
XML的根本特点是“开放性”。如果你只是自己的项目使用,就算使用自定义格式的TEXT文本文件,都比用XML强得多。
[解决办法]
把用 xml描述的数据转换成关系数据吧
关系数据库的优化方案比xml多的多
[解决办法]
VTD-XML

Java: StAX or XPP3
[解决办法]
http://stackoverflow.com/questions/tagged/large-files+xml
[解决办法]
.net Use XmlTextReader to parse large XML documents.
http://msdn.microsoft.com/en-us/library/ff647804.aspx#scalenetchaptch09 _topic8
[解决办法]
吧解析完的内容 作为一个内存映像 保存 或者缓存

如果是随机读写用的话 这么大 还是别用XML了

读书人网 >XML SOAP

热点推荐