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

发布于 2024-09-14 09:17:23 字数 155 浏览 13 评论 0原文

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

有没有简单的方法可以做到这一点,而无需实现 IXmlSerialized 并自行处理?

I would like to use XmlSerializer and deserialize attributes with empty string values into zeros for ints. Every question I've seen regarding deserializing attributes with empty strings involves setting nullable ints to null - but I want to set non-nullable ints to zero, not null.

Is there any easy way to do this without implementing IXmlSerializable and just handling it all myself?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

提赋 2024-09-21 09:17:23

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

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

One approach could be to configure a dummy serializable property, and use a different property in practice:

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); }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文