XML-файл начинается с
<rss version = "2.0"
xmlns:content = "http://purl.org/rss/1.0/modules/content/"
xmlns:wfw = "http://wellformedweb.org/CommentAPI/"
xmlns:dc = "http://purl.org/dc/elements/1.1/"
xmlns:atom = "http://www.w3.org/2005/Atom"
xmlns:sy = "http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash = "http://purl.org/rss/1.0/modules/slash/">
<channel>
<title>
Я заметил, что UTF-8 отсутствует, если не ошибаюсь
<?xml version = "1.0" encoding = "UTF-8"?>
Когда я пытаюсь разобрать значения с кириллическими символами из XML-файла, я получаю что-то вроде
<description><![CDATA[���� ���������������� ���� ��������������, ������ �������������� ���������� ���������� ���� ������������������, �������������� �� ���������������� ������������ ���������������� ���� ���������������������� �������������� �� ����������������.
�������� ������ ����������������...]]>
Спасибо за помощь. Кстати, я анализирую XML с помощью Jsoup, используя метод Parse.xmlParser (класс / парсер).
вот ссылка на исходный код xml: nezavisen.mk/mk/rss.xml
могу ли я как-то закодировать кириллицу после преобразования xml-кода в строку, потому что кодировка в xml-файле отсутствует
«после того, как я конвертирую xml-код в строку»: нет, вы не можете преобразовать байты в строку, не зная кодировки. Это основа любого текстового общения. Однако в определенных контекстах, особенно для четко определенных языков, в спецификации указывается, как можно определить кодировку. Для XML это включает попытку прочитать инструкцию обработки XML (если она есть), чтобы узнать, объявляется ли кодировка. В спецификации есть и другие положения. Но зачем ты это делаешь? Должно быть доступно сотня библиотек. Пожалуйста, покажите свой код.
Я использовал Ion для извлечения содержимого XML-файла, а затем для отправки в виде строкового значения в Jsoup (метод Jsoup.parse, как я упоминал ранее). Итак, я исправил проблему с открытой xml-ссылкой с помощью метода Jsoup.connect. Я обнаружил, что использование Ion для извлечения содержимого, а затем использование метода jsoup.parse немного быстрее, чем извлечение содержимого напрямую с помощью Jsoup. Разве это не странно? Спасибо вам, ребята.




Вы должны использовать кодировку, в которой был создан документ. Возможно, вы получаете эту информацию через заголовок HTTP-ответа Content-Type. Для успешного общения вы должны иметь возможность следить за тем, что делает отправитель.