2012-02-21 71 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的結構很簡單並且不會及時更改 - 您擁有相同的標籤並且樹很簡單,那麼您可以構建自己的解析器。