簡體   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