Android-эмулятор 1.5, 1.6, 2.1 не может анализировать XML-файлы с <? xml version = "1.0" encoding = "Shift-JIS"?> - PullRequest
1 голос
/ 18 ноября 2011

Я обнаружил проблему с эмулятором Android версии 2.1 и ниже;В частности, я тестировал его на эмуляторе Android, версии 1.5, 1.6 и 2.1.Я думал, что ранние версии Android не имели полной или какой-либо поддержки jQuery или ajax, что звучит идиотски, но я не понимал, что это требовательно к структуре файла XML.Каждый из моих файлов XML начинается со следующего объявления XML:

<?xml version="1.0" encoding="Shift-JIS"?>

Теперь у Android 2.3.3 и выше и iOS нет проблем.Возможно, у Android 2.2 могут быть проблемы, но я не вижу его доступным в SDK Manager для Android.

Если я возьму эту декларацию XML из файла XML, эта ранняя версия Android загружает файл XML.

Не работает:

<?xml version="1.0" encoding="Shift-JIS"?>
<test>Hello World</test>

Работает:

<test>Hello World</test>

Я пробовал использовать оба метода jQuery.ajax () и XMLHttpRequest, и приведенные выше результаты верны.

    $.ajax({type: "GET", "test.xml": url, cache: false, async: false});

Вопрос в том, почему эти ранние версии android не могут анализировать структуру XML с объявлением XML?Возможно, устройство Android 1.5 может разобрать его, но я не могу это проверить.Я могу только убедиться, что эти версии эмулятора Android имеют серьезные проблемы с объявлениями XML в XML-файле.

Я надеюсь, что есть обходной путь, и буду признателен за любую помощь.

Спасибо.

1 Ответ

2 голосов
/ 18 ноября 2011

Объявление XML на самом деле не требуется для правильного XML. Но это позволяет вам определить кодировку, используемую в файле. В настоящее время у меня нет доступа к источникам, но я готов поспорить, что если вы измените кодировку, определенную в объявлении, на UTF-8 или ISO-8859-1, то он будет нормально анализировать XML. Мне удалось проанализировать XML с Android, используя кодировку UTF-8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...