Атрибут десериализации XmlSerializer с пустой строкой в ​​ноль - PullRequest
2 голосов
/ 12 августа 2010

Я хотел бы использовать XmlSerializer и десериализовать атрибуты с пустыми строковыми значениями в нули для целых. Каждый вопрос, который я видел в отношении десериализации атрибутов с пустыми строками, включает установку пустых целых чисел равным нулю, но я хочу установить ненулевые целые числа равными нулю, а не нулю.

Есть ли простой способ сделать это без реализации IXmlSerializable и просто обработать все это сам?

1 Ответ

2 голосов
/ 12 августа 2010

Одним из подходов может быть настройка фиктивного сериализуемого свойства и использование на практике другого свойства:

private int myint;

[XmlIgnore]
public int MyInt { get; set; }

[XmlElement("MyInt")]
public string MyIntString
{
    get { return this.MyInt.ToString(); }
    set { this.MyInt = Convert.ToInt32(value ?? string.Empty); }
}
...