2012-02-21 35 views
2

Simplexml在Galaxy S上7秒内解析3200个元素。每个元素都有7个属性。 我如何才能提高性能?XML解析性能

<Response> 
<T> 
    <Item A="..." B="..." C="..." ... /> 
    <Item A="..." B="..." C="..." ... /> 
    <Item A="..." B="..." C="..." ... /> 
    ... 
</T> 
</Response> 

代码:

InputStream in = new BufferedInputStream(mContext.getAssets().open("t.xml")); 
Reader decoder = new InputStreamReader(in, "UTF8"); 
... 
Persister serializer = new Persister(); 
respT = serializer.read(RespT.class, decoder, false); 

回答

3

你可以尝试使用Vtd-Xml,它比大多数解析器更快。

+0

使用Vtd-Xml(XPath)后,我在1.5秒内得到了这个xml文件的结果。 非常感谢! – Sviatoslav 2012-02-22 13:07:53

0

如果xml的结构很简单并且不会及时更改 - 您拥有相同的标签并且树很简单,那么您可以构建自己的解析器。