Десериализация пустых XML-тегов в C# с помощью перечислений
Привет,
(* Я использую LinqPad для проверки этого, поэтому вы можете увидеть вызов .Dump() в конце моего примера)
В этом коде я получаю "ошибка проверки экземпляра:" не является допустимым значением для claves_sexo", потому что оно пустое:
void Main() { string xmlString = "<Products><Product><Id>1</Id><Name>My XML product</Name><Sexo></Sexo></Product></Products>"; XmlSerializer serializer = new XmlSerializer(typeof(List<Product>), new XmlRootAttribute("Products")); StringReader stringReader = new StringReader(xmlString); List<Product> productList = (List<Product>)serializer.Deserialize(stringReader); productList.Dump(); } public class Product { public int Id { get; set; } public string Name { get; set; } public claves_sexo Sexo {get;set;} } public enum claves_sexo { HO, MU, ND }
Я бы хотел, чтобы члену Sexo продукта было присвоено значение ND = 2 для перечисления, когда он не информирован.
Заранее спасибо,
Роджер
Что я уже пробовал:
Я играл с атрибутом XmlIgnore и создал еще один элемент, чтобы импортировать значение пустого тега в виде строки и назначить его члену Sexo, но мне это не удалось.