Как разобрать XML-файл, содержащий спецификацию?

Я хочу проанализировать XML-файл из URL-адреса с помощью JDOM. Но при попытке сделать это:

SAXBuilder builder = new SAXBuilder();
builder.build(aUrl);

Я получаю следующее исключение:

Invalid byte 1 of 1-byte UTF-8 sequence.

Я подумал, что это может быть проблема спецификации. Итак, я проверил источник и увидел спецификацию в начале файла. Я пробовал читать по URL-адресу с помощью aUrl.openStream () и удалять спецификацию с помощью Commons IO BOMInputStream . Но, к моему удивлению, никакой спецификации не обнаружено. Я пробовал читать из потока и записывать в локальный файл и анализировать локальный файл. Я установил все кодировки для InputStreamReader и OutputStreamWriter на UTF8 , но когда я открыл файл, в нем были сумасшедшие символы.

Я думал, что проблема в кодировке исходного URL. Но когда я открываю URL-адрес в браузере, сохраняю XML в файл и читаю этот файл с помощью описанного выше процесса, все работает нормально.

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

7
задан doctrey 14 December 2011 в 08:22
поделиться