我有一个要求,我可以拥有100 MB或更大的xml文件,其中包含我需要将每个公司从该xml文件添加到表中的公司列表。
我正在考虑使用SAX解析器,但我也在考虑使用stax解析器。有人可以帮我知道我应该使用哪一个。
THX
答案 0 :(得分:1)
StAX有一个更容易使用的API,所以我认为这是一个更好的选择。 SAX有一个低级推送API,使用起来不是很好(例如使用char[]
)。 StAX有更好的使用pull API。
另一个潜在的优势:使用StAX你还没有阅读整篇文档,如果你有你需要的东西,你可能会停止。
找到here的Java XML解析API有一个很好的 - 虽然很旧 - 比较。
答案 1 :(得分:0)
使用StAX可以将内存中保存的数据量最小化到最近解析的记录。将该记录插入表后,您不再需要将其保留在内存中。
如果使用SAX,在将记录插入表之前,您可能(可能)必须将整个xml内容解析到内存中。虽然可以随意插入(当遇到记录的关闭元素时),SAX比StAX更复杂。