社区
XML/XSL
帖子详情
大型(超过200M) 200万行XML解析
jeff994
2011-07-07 08:07:00
在解析大型XML文件的时候,用SAX PARSER 解析,越到后面越慢。 花了超过一个小时解析完所有文件
(文件里面是几何图形,解析完了放在内存里,内存足够,CPU足够)
请问有什么解决方案么? 或者谁有经验解决类似的问题么?
...全文
648
21
打赏
收藏
大型(超过200M) 200万行XML解析
在解析大型XML文件的时候,用SAX PARSER 解析,越到后面越慢。 花了超过一个小时解析完所有文件 (文件里面是几何图形,解析完了放在内存里,内存足够,CPU足够) 请问有什么解决方案么? 或者谁有经验解决类似的问题么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
http://stackoverflow.com/questions/tagged/large-files+xml
huntor
2011-07-07
打赏
举报
回复
VTD-XML
Java: StAX or XPP3
挨踢直男
2011-07-07
打赏
举报
回复
把用 xml描述的数据转换成关系数据吧
关系数据库的优化方案比xml多的多
碧海情天-赵亮
2011-07-07
打赏
举报
回复
XML的根本特点是“开放性”。如果你只是自己的项目使用,就算使用自定义格式的TEXT文本文件,都比用XML强得多。
碧海情天-赵亮
2011-07-07
打赏
举报
回复
你用XML做这样的事,就得面对这样的后果。XML根本不适合作为大型数据存储载体。
masterz
2011-07-07
打赏
举报
回复
如果是解析的效率问题,可以考虑
State
pattern.
masterz
2011-07-07
打赏
举报
回复
曾经把element的名字放在map里面,有些element在xml里面只出现了一次,解析到以后就把它从map里面删掉。
加载更多回复(1)
Java解析XML四大方法全解析(含代码实战)
XML作为一种平台无关的结构化数据表示方式,在企业级Java应用中扮演着重要角色,尤其在配置管理、跨系统数据交换和SOAP/Web服务通信中广泛应用。Java提供了多种
XML解析
机制,核心包括DOM、SAX、StAX以及第三方库JDOM,每种方式基于不同的设计理念应对多样化的业务需求。DOM将整个文档加载为内存树,适合小规模数据的随机访问;SAX采用事件驱动流式读取,适用于大文件处理;StAX则提供“拉”模式解析,兼具控制力与效率;JDOM以更简洁的API封装提升开发体验。
Visual Studio Code Coverage
Xml解析
器源码深度解析与应用
XML 解析是将文本形式的标记语言转换为程序可操作的数据结构的过程。根据解析方式的不同,主要分为两类:基于树结构的 DOM 模型和基于事件驱动的 SAX 模型。二者在内存使用、解析效率和编程复杂度方面存在显著差异,理解其工作机制对于构建高性能覆盖率分析系统至关重要。为准确表达覆盖率语义,必须对不同类型的代码行为进行分类建模。其中最基础的是行级覆盖信息——已覆盖行与未覆盖行。在此基础上,构建更高层次的聚合结果实体,形成完整的数据根节点。set;} = new();set;set;?
【PHP开发900个实用技巧】95.处理
大型
XML: PHP流式解析的内存友好方案!
PHP流式解析GB级XML文件实战指南 传统DOM解析大XML文件会导致内存爆表,而流式解析技术能高效处理海量数据。核心方案是使用XMLReader,其独特优势在于: 内存占用恒定(仅2-5MB) 采用事件驱动模式逐节点处理 支持10GB+文件解析 关键技术点: 通过read()方法逐节点遍历 配合readOuterXml()提取当前节点 即时处理即时销毁数据 批量入库+内存熔断机制保障稳定性 生产环境推荐组合方案:流式解析+断点续传+多进程分流,可轻松应对100GB级数据处理需求。
深入浅出带你了解XML实体注入
Xml外部实体注入漏洞(XML External Entity Injection)简称XXE,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可以构造加载恶意外部文件,进而通过恶意外部文件对服务器进行攻击。今天比较详细的讲了XXE漏洞的原理以及应用方法,有兴趣的小伙伴可以自己去搭建靶机来进行测试,喜欢的小伙伴不妨一键三连。## 题外话初入计算机行业的人或者大学计算机相关专业毕业生,很多因缺少实战经验,就业处处碰壁。
Python lxml库实战指南:XML与HTML高效处理
lxml是基于 C 语言编写的libxml2和libxslt库的 Python 绑定,融合了高性能与标准兼容性。它不仅支持完整的 XML 和 HTML 解析,还提供 XPath、CSS 选择器、XSLT 等强大功能,广泛应用于网络爬虫、数据清洗、企业级数据交换等场景。相较于内置的lxml在处理复杂文档结构和大规模数据时展现出显著性能优势。测试百万级XML节点解析性能:库名文档大小节点数平均耗时(s)内存峰值(MB)lxml100MB50万。
XML/XSL
8,906
社区成员
22,677
社区内容
发帖
与我相关
我的任务
XML/XSL
XML/XSL相关问题讨论专区
复制链接
扫一扫
分享
社区描述
XML/XSL相关问题讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章