ParseException: в строке 1, столбец 0: элемент не найден SAXException в Android - PullRequest
2 голосов
/ 04 января 2012

В одном из моих приложений для Android, когда я пытаюсь проанализировать XML-файл по некоторому URL, иногда я получаю ParseException: в строке 1, столбце 0: элемент не найден SAXException , но странным является то, что яне получать это исключение всегда означает, что когда я снова обновляю страницу (возвращаюсь к предыдущему действию и возвращаюсь снова), она начинает работать (означает, что она анализирует xml).

Я не смог найти точную причину, по которой это происходит,Мне кажется, что это может быть проблема интернета, но сеть работает на устройстве, и еще одна вещь , это не всегда происходит, иногда, когда он легко произносит XML, но иногда выдает исключение . * 1007.*

Вот код, который я использую для синтаксического анализа:

xr.parse(new InputSource(new URL(urlToHit).openStream()));

Я пробовал другой способ также для синтаксического анализа:

URL serverAdd=new URL(urlToHit);

     URLConnection connection = serverAdd.openConnection();

     xr.parse(new InputSource(connection.getInputStream()));

Но проблема все еще сохраняется. (Иногда этоанализирует xml иногда не может)

Пожалуйста, помогите, поскольку это очень актуально для меня.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 04 января 2012

Это не имеет никакого отношения к Android, возможно, ваше интернет-соединение ненадежно, поэтому анализатор SAX не получает действительный файл XML

0 голосов
/ 04 января 2012

Сначала посмотрите это Вопрос , если это поможет говорить о Question code and Answer обоих.

Хорошо, теперь в этом вопросе я установил тип кодирования для inputtream какis.setEncoding("ISO-8859-1"); попробуйте это и в вашем случае.

0 голосов
/ 04 января 2012

Я предлагаю не использовать URLConnection .. Ссылка на следующий фрагмент

Работает без 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()));`
...