解析非常大的XML文件并编组到Java对象

我有以下问题:我有非常大的 XML文件(如300 Megs),我需要解析它们以便将它们的一些值添加数据库中.这些文件的结构也非常复杂.我想使用Stax Parser,因为它提供了一次拉解析(并因此处理)XML文件的一部分的可能性,因此不会将整个内容加载到内存中,但另一方面获取值Stax(至少在这些XML文件上)很麻烦,我需要编写大量代码.从后一种观点来看,如果我可以将XML文件编组为 Java对象(就像JAX-B那样),那将对我有所帮助,但是这会将整个文件加上大量的Object实例同时加载到内存中.

我的问题是,有没有办法按顺序解析(或只是部分解析)文件,然后只将那些部分编组到Java对象中,这样我就可以轻松处理它们而不会让内存陷入困境?

我推荐 Eclipse EMF.但它有同样的问题,如果你给它文件名,它会解析整个事情.虽然有一些选项可以减少加载的数量,但我没有太多麻烦,因为我们在96 GB RAM的机器上运行.

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念