2010-12-03 48 views
0

我想解析字符串中的XML。當字符串長度很小時,這工作正常。但是對於長字符串,它不解析任何東西。它在調用parse()時被暫停。我使用下面的代碼進行解析。請告訴我我的代碼有什麼問題?從Android中的字符串解析xml的問題

 //my xml code is string 'xmlString' 
     DocumentBuilderFactory objDocFactory=DocumentBuilderFactory.newInstance(); 
     DocumentBuilder objDocBuilder=objDocFactory.newDocumentBuilder(); 
     InputSource objInput=new InputSource(); 
     objInput.setCharacterStream(new StringReader(xmlString)); 
     Document objDoc=objDocBuilder.parse(objInput); 
     //appication is suspended at the above line 
     objDoc.getDocumentElement().normalize(); 

謝謝...

+0

如果您正在解析大型XML文檔,那麼您可能需要使用SAX解析器。 – Keith 2010-12-03 06:28:50

回答

0

究竟是什麼基斯說。使用DOM它試圖將整個文檔加載到內存中,這不是移動設備上最好的東西。 SAX將流式傳輸數據,因此只能使用一點內存。

2

該文件有多大?

我已經使用Android的TinyXML解析器,並且對結果非常滿意。也許你可以檢查一次。

最好的部分是使用起來非常簡單,學習曲線也相對較少。