2012-08-10 105 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。

相关问题