验证和编组大XML文件?

时间:2014-04-15 12:30:25

标签: java xml marshalling

我有大容量2GB到4 GB的大XML文件,我通过第三个pasrty供应商获得。现在我需要做两种类型的操作 对于不同的用例: -

用例1: -

验证XML中的一些值。

用例2: -

将XML编译为java对象以进行某些处理。

现在我的问题是最好的做法。我可以验证特定元素而无需解析Usecase 1。

第二个问题是如何在没有获得OutOfMemory异常或最佳利用内存2的情况下编组这样大的文件?

1 个答案:

答案 0 :(得分:1)

如果文档太大,您将需要手动使用基于事件的解析器,如SAX和马歇尔对象。这将允许您将文档作为流处理,而不是一次读取整个文档。

这是一篇简短的文章,讨论基于事件的解析与基于树的解析:

http://www.saxproject.org/event.html