XmlSerializer将带有空字符串的属性反序列化为零

时间:2010-08-12 12:44:21

标签: .net xmlserializer xml-deserialization

我想使用XmlSerializer并将带有空字符串值的属性反序列化为零作为整数。我所看到的关于使用空字符串反序列化属性的每个问题都涉及将可为空的int设置为null - 但我想将不可为空的int设置为零,而不是null。

如果没有实现IXmlSerializable并且只是自己处理它,有没有简单的方法呢?

1 个答案:

答案 0 :(得分:2)

一种方法可能是配置虚拟可序列化属性,并在实践中使用不同的属性:

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); }
}