У меня возникли проблемы, пытаясь десериализациями моего XML-строку, которая была из набора данных ..Имея вопрос Десериализации массива из строки XML
Вот макет XML ..
<DataSet>
<User>
<UserName>Test</UserName>
<Email>[email protected]</Email>
<Details>
<ID>1</ID>
<Name>TestDetails</Name>
<Value>1</Value>
</Details>
<Details>
<ID>2</ID>
<Name>Testing</Name>
<Value>3</Value>
</Details>
</User>
</DataSet>
Теперь я возможность десериализации «UserName» и «Электронная почта» при выполнении
public class User
{
public string UserName {get;set;}
public string Email {get;set;}
public Details[] Details {get;set;}
}
public class Details
{
public int ID {get;set;}
public string Name {get;set;}
public string Value {get;set;}
}
Это десериализует хорошо, когда я просто получить пользовательский узел, детали Isnt нулевой, но не имеет элементов в нем ..
Я знаю, что я должен иметь между всеми деталями, но я скорее не изменяю XML, так или иначе, чтобы заставить это десериализоваться должным образом, не воссоздавая XML после его получения?
Пробовал добавлять [XmlArrayItem (NestingLevel = 1, Type = TypeOf (подробности))] выше свойство, но приводит к тому, что информация будет равна нулю. – jaekie
Является ли ваш XML точно так же, как вы вставили? Если это так, это неверно ... отсутствует окончание> после/Подробности – jvenema
Как уже упоминалось выше, вы должны пометить свои классы атрибутами из пространства имен System.Xml.Serialization при использовании сериализации Xml. –