代码之家  ›  专栏  ›  技术社区  ›  Mark Bostleman

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

  •  2
  • Mark Bostleman  · 技术社区  · 14 年前

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

    有没有什么简单的方法不用实现IXmlSerializable而自己来处理它呢?

    1 回复  |  直到 14 年前
        1
  •  2
  •   kbrimington    14 年前

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

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