2012-08-10 33 views
6

我正在使用XStream將XML轉換爲對象。我正在轉換大型XML。我在下面遇到兩個陳述。Xstream驅動程序性能

XStream xstream = new XStream(new DomDriver()); 

XStream xstream = new XStream(new StaxDriver()); 

由於我使用大的xml進行轉換,哪一個結果性能更好?爲什麼?

請幫忙。

+0

BinaryStreamDriver呢? – guilhermecgs 2015-05-06 14:18:41

回答

3

Staxdriver應該執行得更好,因爲它使用拉解析器技術,這是解析xml最快的技術,並且使用更少的內存,因爲文檔沒有加載到內存中。

+0

默認情況下,XStream使用也使用拉解析器的XppDriver。在對真實生產數據的測試中,StaxDriver比串行化和反序列化中默認的XStream的XppDriver慢大約10%。 – Sergio 2015-07-05 10:47:35

2

StaxDriver將逐步解析數據,以便更高效。它只適用於Stax解析器。如果你想使用DOM解析器,你需要使用DomParser。