XML недопустимый символ! - PullRequest
1 голос
/ 27 марта 2012

Я получил недопустимый символ!на то, что выглядит как знак £ в xml, который я обрабатываю.Я получаю «Недопустимый символ в заданной кодировке».Вот фрагмент кода & xml.

<outputs>
<output id='1'>
<key><![CDATA[123]]></key>
<message id='84'>
<source><![CDATA[123]]></source>
<sender><![CDATA[Paul]]></sender>
<text><![CDATA[Testing Currency £7.50 $9.999 _]]></text>
</message>
</output>
</outputs>

Не так много, я делаю код мудрым.

       XDocument doc = XDocument.Load(xmlFileName);

Я не изменяю кодировку или что-либо еще.Какие-нибудь советы ?.

Ответы [ 4 ]

1 голос
/ 27 марта 2012

Знак £ имеет значение ASCII 163 (0xA3) и коды UTF-8 0xC2 0xA3 ( источник ).

Убедитесь, что кодировка файла (которая выглядит как ASCII) соответствует кодировке, используемой для загрузки файла XML с использованием StreamReader с параметром Encoding.

1 голос
/ 27 марта 2012

Если вы загружаете XML-документ, вы можете получить эту проблему кодирования:

В текстовом содержимом найден недопустимый символ.

Вы получаете эту ошибку, если ваш XML содержит символы, отличные от ASCII, и файл был сохранен как однобайтовый ANSI (или ASCII) без указания кодировки.

Блокнот Windows по умолчанию сохраняет файлы как однобайтовый ANSI (ASCII).

Чтобы решить вашу проблему, вы можете открыть свой XML с помощью Блокнот , затем, если вы выберете «Сохранить как ...», вы можете указать однобайтовый Unicode (UTF-8), а затем попытаться перезагрузите ваш XML.

enter image description here

0 голосов
/ 07 августа 2014

добавить заголовок xml в ваш файл, чтобы указать метод кодировки <? Xml version = "1.0" encoding = "UTF-8"?>

0 голосов
/ 27 марта 2012

Не уверен, почему вы получили эту ошибку.

Я скопировал ваш XML в файл POC.XML и изменил свойства сборки этого файла, чтобы всегда копировать.после этого приведенный ниже код работал без исключения.

XDocument xodc = XDocument.Load("poc.xml");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...