android
2012-06-20 32 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

复制从我以前的评论,因为它原来是答案。 –

相关问题