Регистр с использованием символа XML - отметка «°» - PullRequest
0 голосов
/ 06 мая 2020

У меня проблема с синтаксическим анализом файла xml. В последовательности символов есть «°», и я получаю уведомление: «XML Ошибка синтаксического анализа в строке 1048: ввод не соответствует UTF-8, укажите кодировку!». У меня была такая же проблема с символом «&», но я решил ее, набрав «&» - я не знаю, что делать в этом случае, потому что нигде не нашел решения. Вот фрагмент файла XML:

<OrganisationListItem>
<Branch>
<Partner>
<PartnerShortName>xxxxx</PartnerShortName>
<BranchShortName>xxxxx</BranchShortName>
</Partner>
<BranchNumber>xxxxx</BranchNumber>
<BusinessName>xxxxx</BusinessName>
<StartDate>xxxxxx</StartDate>
<DisplayWeb>xxxxx</DisplayWeb>
<Address>
<Street>xxxxx 1° xxxxx</Street>
<ZipCode>xxxxxx</ZipCode>
<City>xxxxx</City>
<CountryCode>xxxxx</CountryCode>
</Address>
</Branch>
</OrganisationListItem>

Вместо «x», конечно, есть данные, из-за чувствительности я не могу их дать. Начало файла:

<?xml version="1.0" encoding="utf-8"?>

1 Ответ

0 голосов
/ 06 мая 2020

Файл начинается с объявления, в котором объявляется кодировка UTF-8, поэтому парсер пытается декодировать его как UTF-8 и успешно декодирует все, пока не найдет байт, который вы показываете как «°» , но это явно не правильная кодировка «°» UTF-8. Чтобы узнать, какова фактическая кодировка, взгляните на содержимое в шестнадцатеричном редакторе; скорее всего, это iso-8859-1 или что-то подобное.

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

Если вы редактируете файл вручную попробуйте использовать текстовый редактор, понимающий XML; это снижает вероятность возникновения этой проблемы.

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