我已经大XML,其大小可从1.5 GB变化到1.5 GB +。其次,我有一个处理该XML的实用程序。但是在整个XML中,只有少数内部标签负责从该实用程序生成输出。
这里值得关注的是,如果它是一个小的xml,它会被处理,但是在BIG xml中,我会得到一个错误的Java堆空间。
我知道XML的整个模式和内部标记的顺序,以及真正习惯于产生输出的人。因此,我正在考虑仅从整个XML中提取所需的XML,并仅使用外部标签而不使用带有Data的标签来完成所需的XML。我已经使用小数据对其进行了测试,但是不确定如何从Big FAT XML中删除这些块。
总不想增加JVM参数。
有什么办法,我可以做到这一点,给那些小XML块效用? 谁能分享他们的观点?
谢谢
答案 0 :(得分:0)
我怀疑XSLT处理器是否可以帮助您避免大型XML文件出现问题。相反,我建议您使用分层API,例如StAX,该API旨在在解析每个XML标记后立即对其进行处理。
查看StreamFilter示例。