我们有非常大的xml文件(5-10MB),其中包含大量的数据,我们需要在java中开发POC来解析它,并通过维护适当的关系将它们插入到数据库表中。
谁能告诉我这种设计的最佳实践是什么?我们如何才能以更有效的内存方式解析它们?
发布于 2015-08-24 21:31:30
在Java中有三种主要的解析XML的方法。
DOM -将整个文件读取到内存中并在其中遍历。
推送-例如SAX -解析文件,并使用回调来告诉你当文件飞向解析器时发生了什么。
拉-例如StAX -动态解析文件,但逐个从文件中拉出每个元素。
有关更一般的讨论,请参阅Parsing XML using DOM, SAX and StAX Parser in Java。
有关推/拉辩论的详细讨论,请参阅What is 'Push Approach' and 'Pull Approach' to parsing?。对于大文件,DOM不能很好地工作。在速度方面,其他两个都可以很好地工作。
https://stackoverflow.com/questions/32183440
复制相似问题