2

XmlSerializer を使用し、空の文字列値を持つ属性を int のゼロにデシリアライズしたいと思います。空の文字列を持つ属性の逆シリアル化に関して私が見たすべての質問には、null 許容 int を null に設定することが含まれますが、null 非許容 int を null ではなくゼロに設定したいと考えています。

IXmlSerializable を実装せず、すべて自分で処理するだけでこれを行う簡単な方法はありますか?

4

1 に答える 1

2

1 つの方法は、ダミーのシリアル化可能なプロパティを構成し、実際には別のプロパティを使用することです。

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 に答える