Требуется помощь при ошибке XML Serializer - PullRequest
0 голосов
/ 14 февраля 2011

вот мой код

// Read the data from the file 
XmlSerializer serializer = new XmlSerializer(typeof(HighScoreData)); 
data = (HighScoreData)serializer.Deserialize(stream);

Сейчас я делаю рекорд в моей игре. но он получает ошибку "есть ошибка в документе XML (0, 0). хочешь помочь или просветить?

1 Ответ

1 голос
/ 14 февраля 2011

У меня раньше была эта проблема, и в начале файла присутствовала метка порядка байтов. Проверьте свой XML-файл в шестнадцатеричном редакторе и посмотрите, есть ли в начале три символа. Вы можете просто сделать что-то вроде следующего с вашим необработанным xml

if (xml.StartsWith(ByteOrderMarkUtf8)) 
{     
   xml = xml.Remove(0, ByteOrderMarkUtf8.Length); 
} 

затем прочитайте это в поток

или вы можете сделать что-то подобное при создании вашего потока

byte[] bytes = Encoding.UTF8.GetBytes(xml); 
MemoryStream stream = new MemoryStream(bytes);

надеюсь, это поможет

...