繁体   English   中英

在SAX和STAX之间选择哪个来读取大型xml文件

[英]Which one to choose between SAX and STAX to read large xml files

我有一个要求,我可以拥有100 mb或更大的xml文件,其中包含公司列表,我需要针对这些公司将每个公司从该xml文件添加到表中。

我当时在考虑使用SAX解析器,但是我也在考虑使用stax解析器。 有人可以帮助我知道我应该使用哪一个。

谢谢

StAX具有更易于使用的API,因此我认为这是一个更好的选择。 SAX有一个低级推送API,使用起来不太好(例如,使用char[] )。 StAX使用pull API更好。

另一个潜在的优势:使用StAX并不需要阅读整个文档,如果需要则可以停止。

有一个很好的-虽然很旧-发现了Java XML解析API的比较在这里

使用StAX将使您可以最大程度地减少仅保存到最近解析的记录的内存中的数据量。 一旦将该记录插入表中,就不再需要将其保留在内存中。

如果使用SAX,则(可能)必须在将记录插入表之前将整个xml内容解析到内存中。 尽管可以随便插入(遇到记录的结束元素时),但使用SAX的过程比StAX复杂。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM