使用XmlSlurper解析(非常)大型XML文件
发布时间:2020-12-15 23:57:02 所属栏目:百科 来源:网络整理
导读:我是Groovy的新手,我正在尝试使用XmlSlurper读取一个(相当)大的 XML文件(超过1Gb),因为它不构建整个DOM,所以它应该可以处理大文件的奇迹.在记忆中. 尽管如此,我仍然得到“OutOfMemoryError:Java堆空间”,这让我觉得显然有些东西我做错了.我尝试增加Xmx设置,
我是Groovy的新手,我正在尝试使用XmlSlurper读取一个(相当)大的
XML文件(超过1Gb),因为它不构建整个DOM,所以它应该可以处理大文件的奇迹.在记忆中.
尽管如此,我仍然得到“OutOfMemoryError:Java堆空间”,这让我觉得显然有些东西我做错了.我尝试增加Xmx设置,但我宁愿解决问题,因为我可能不得不处理更大的文件. 这是我使用的代码行: def posts = new XmlSlurper().parse(new File("posts.xml")) 什么是错的暗示? 提前致谢, 热雷米.
Groovy的XmlSlurper是一个SAX解析器,但将整个模型加载到内存中……
为避免OOM异常,您可能需要提高内存容量(如您所说,使用-Xmx设置),或者您可以write your own SAX parser从文档中获取所需的数据 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |