2

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

有没有什么简单的方法可以做到这一点而不实现 IXmlSerializable 并且只自己处理它?

4

1 回答 1

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); }
}
于 2010-08-12T12:47:46.970 回答