Android - Почему SaxParser работает с локальным XML-файлом, а не с XML по URL-адресу?
Я успешно реализовал SaxParser в своем приложении для анализа XML-файлов. Мое приложение хорошо работает с другими онлайн-файлами XML, но не с определенными. Я открыл этот конкретный XML-файл в своем браузере, затем перешел к "источнику страницы", скопировал все и вставил в локальный XML-файл в моем проекте, и анализатор сработал.
Когда я пытаюсь проанализировать этот файл из его источника в Интернете, в Logcat я получаю сообщение об ошибке:
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 0: syntax error
Единственное, что приходит мне в голову, это то, что URL исходного файла выглядит примерно так: "example.com/showxml". Таким образом, URL не заканчивается расширением.xml.
Может ли это быть причиной ошибки?
Заранее спасибо!
Заметки:
1. Интернет-разрешение указано в моем манифесте.
2. Я не думаю, что в файле XML есть синтаксическая ошибка, так как она работала, когда я копировал и вставлял ее в локальный файл.
ОБНОВИТЬ:
Я загрузил файл XML на другой веб-сайт, чтобы попытаться получить от него доступ. И это сработало. Похоже, что моя проблема вызвана доменом, из которого я пытаюсь получить исходный файл.
2 ответа
Создайте дамп файла внутри android, возможно, ваш код использует неправильную кодировку char, bad bof и т. д.
К сожалению, я совершил огромную ошибку. Файл не был файлом XML, это был JSON. Но почему-то Firefox показывал его в формате XML, и это приводило меня в замешательство. Я предполагаю, что URL-адрес, по которому я звонил, был своего рода веб-сервисом, который может возвращать данные как в формате XML, так и в формате JSON. Во всяком случае, проблема решена. Спасибо всем, кто провел здесь минуту.