Pregunta

Me gustaría utilizar XmlSerializer y atributos deserializar con valores de cadenas vacías en ceros para los enteros. Cada pregunta que he visto en relación con atributos deserializar las cadenas vacías implica establecer enteros anulables a null -. Pero quiero establecer enteros no anulable a cero, no es nulo

¿Hay alguna forma fácil de hacer esto sin tener que implementar IXmlSerializable y simplemente manejar todo yo?

¿Fue útil?

Solución

Un enfoque podría configurar una propiedad serializable ficticio, y el uso de una propiedad diferente en la práctica:

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); }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top