android
2012-06-20 67 views 0 likes 
0

我的應用程序documentBuilder.parse(inputStream)在Android 4.0.3中拋出了以下錯誤 。documentBuilder.parse在android 4.0.3下失敗

"SAXException : Unexpected token (position:TEXT ?xml version='[email protected]:38 in [email protected])" 

相同的代碼工作在所有的舊版本的android。

以下是我輸入流的初始部分。

?xml version='1.0' encoding='UTF-8'?> 

任何解決方案?

+1

在第一個問號前面有一個「小於」符號,對嗎?我認爲這只是一個格式錯誤。 –

+0

嗨約翰,實際上它在輸入流中從服務器丟失。它在舊版本的android中工作..所以我並不在乎它。由於沒有其他解決方案,我編輯輸入流,它的工作原理: - )...例外是因爲缺少「少於」符號..感謝您的回覆 – thoma

回答

0

我認爲你需要爲DocumentBuilder的一個輸入源:

Document doc = null; 
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 

DocumentBuilder db = dbf.newDocumentBuilder(); 

InputSource is = new InputSource(); 
is.setCharacterStream(new StringReader(xml)); //where xml is you xml file 
doc = db.parse(is); 

希望這有助於。

3

缺少初始小於號。顯然老版本的android允許這個不正確的XML。

+0

複製從我以前的評論,因爲它原來是答案。 –

相關問題