.net xml сериализатор не кодирует некоторые символы - PullRequest
0 голосов
/ 10 сентября 2009

I класс, содержащий несколько свойств типа string. Одно из значений содержит символ шестнадцатеричного значения 96. Если я сериализую класс в xml, сериализатор xml не кодирует этот символ, и если я просматриваю XML в различных инструментах, таких как IE или SQLServer с OpenXML, он жалуется символ недопустим в документе XML. Разве сериализатор xml не должен кодировать этот символ?

Ответы [ 2 ]

1 голос
/ 10 сентября 2009

Это может помочь (предостережение - найдено через поисковую систему, не проверено): Сбой веб-служб .NET на элементах управления Unicode

В основном это говорит о том, что XmlSerializer не удается десериализовать управляющие символы Юникода.

В комментариях один из авторов ссылается на Шестнадцатеричное значение 0x является недопустимым символом . 0x96 там не указан, поэтому я не уверен, что это та же проблема.

0 голосов
/ 10 сентября 2009

Мне удалось обойти ошибку, изменив кодировку на iso-8859-1. В моем случае эта кодовая страница включала в себя все символы, которые использовались моими данными. Я думаю, что теоретически данные могут содержать другие символы, но это подходящее решение.

...