Я искал в Интернете MSDN и Google, чтобы найти ответ на следующий вопрос.
Как мне сериализовать коллекцию, названную следующим образом в c #?
<foocollection>
<fooitem1></fooitem1>
<fooitem2></fooitem2>
...
</foocollection>
Я видел, что вы можете сделать это в DataContract:
[CollectionDataContract(Name="foocollection", ItemName = "fooitem")]
public class FooCollection<T> : List<T> {
public FooCollection(){}
public FooCollection(T[] items){
foreach(var i in items){
Add(i);
}
}
}
Сериализатор - это XML-сериализатор по умолчанию из ASP.NET Web API.В этом коде предполагается, что приведенный выше XML-код поступает от клиента.
Я успешно сериализовал вышеприведенное как динамическое, но динамическое не будет приемлемым решением.
Как бы я успешно выполнил сериализацию, используя любое из перечисленных ниже пространств имен или другие, с предупреждением, которое я могу сериализовать для вышеуказанного класса?Я готов добавить дополнительные классы по мере необходимости, чтобы вышеописанное работало, если мне не нужно создавать класс для каждого элемента в коллекции.
System.ComponentModel.DataAnnotations
System.Xml.Serialization
Заранее большое спасибо.