Я десериализирую следующий XML-файл. Использование XML-сериализатора с VSTS 2008 + C # + .Net 3.5.
Вот файл XML.
<?xml version="1.0" encoding="utf-8"?>
<Person><Name>=b?olu</Name></Person>
Вот снимок экрана для отображения файла XML и двоичного формата файла XML,
Если есть какие-то решения для принятия таких персонажей, это будет здорово! Поскольку мой XML-файл большой, и если такие символы действительно недопустимы и должны быть отфильтрованы, я хочу сохранить оставшееся содержимое XML-файла после десериализации.
В настоящее время десериализация XML завершается с ошибкой InvalidOperationException, и вся информация файла XML будет потеряна.
На самом деле при открытии этого XML-файла в VSTS возникает ошибка, подобная этой, ошибка 1 символа '?', Шестнадцатеричное значение 0xffff недопустимо в документах XML. Я в замешательстве, поскольку в двоичной форме нет значений 0xffff.
Какие-нибудь решения или идеи?
EDIT1: вот мой код, который используется для десериализации XML-файла,
static void Foo()
{
XmlSerializer s = new XmlSerializer(typeof(Person));
StreamReader file = new StreamReader("bug.xml");
s.Deserialize(file);
}
public class Person
{
public string Name;
}