Я был приземлен с помощью XML-данных, которые мне нужно для десериализации на объекты в приложении Silverlight (v5). Данные выглядит следующим образом:Удаление десериализации XML без объявления или пространства имен в Silverlight
<AgentState>
<agentName>jbloggs</agentName>
<extension>12345</extension>
<currentlyIn>TestStatus</currentlyIn>
</AgentState>
Я создал класс на Silverlight стороны, и я пытаюсь получить этот XML - который, вы заметите, отсутствует декларацию и пространство имен - в объекты ,
StringReader sr = null;
string data = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);
sr = new StringReader(data);
XmlSerializer xs = new XmlSerializer(typeof (AgentState));
AgentState agent = (AgentState) xs.Deserialize(sr);
.. но выдает ошибку an error in xml document (1,2)
, так как он отсутствует заявление. Даже ручное добавление фиктивного объявления дает дополнительные ошибки в отношении пропущенных пространств имен.
Я нашел other вопросы об игнорировании пространства имен/деклараций в XML, но ни один из них, похоже, не работает в Silverlight.
Может ли кто-нибудь посоветовать о наилучшем способе получения этого XML, десериализованного в объект?
В Silverlight нет кодировки.ASCII :( – KenD
Отредактировано, оно также работает с UTF8. Можете ли вы дать нам точный вывод строки? Кажется, что это преступник. –