在我的一个Android应用程序中,当我尝试从某个URL解析xml文件时,有时我得到 ParseException:在第1行,第0列:找不到元素SAXException 但奇怪的是我不会得到这个异常总是意味着当我再次刷新页面时(回到之前的活动并再次回来)它开始工作(意味着它解析xml)。
我找不到发生这种情况的确切原因。在我看来,它可能是互联网的问题,但网络正在设备和另外一件事它不会发生总是一段时间它很容易赞美XML,但有时它抛出异常。 / p>
以下是我用于解析的代码:
xr.parse(new InputSource(new URL(urlToHit).openStream()));
我还尝试了另一种解析方法:
URL serverAdd=new URL(urlToHit);
URLConnection connection = serverAdd.openConnection();
xr.parse(new InputSource(connection.getInputStream()));
但问题仍然存在。(有时它会解析xml有时它不能)
请帮助我。
感谢。
答案 0 :(得分:2)
它与Android无关,也许你的互联网连接不可靠因此SAX解析器没有获得有效的XML文件
答案 1 :(得分:0)
我建议不要使用URLConnection..Refer follwing snippet
没有URLConnection就行。试试吧..
XMLReader xr = sp.getXMLReader();
URL sourceUrl = new URL ("http://10.0.2.2:8080/folderName/question.xml");
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));`
答案 2 :(得分:0)
首先看一下 Question ,如果它有助于讨论Question code and Answer
两者。
好的,现在在这个问题中我已经将编码类型设置为输入流is.setEncoding("ISO-8859-1");
尝试在你的情况下。