c# - XmlSerializer 不反序列化 DateTime

标签 c# xml datetime serialization

我有一个 XML 文档,我正在使用 XmlSerializer 反序列化。文档上的其他属性工作正常,但有一个元素特别不起作用:

<StartDate>2014-03-21T00:00:00</StartDate>

这在 POCO 的 C# 中定义为:

[XmlElement("StartDate")]
private DateTime StartDate { get; set; }

当我反序列化文档时,StartDate01/01/0001 12:00:00 AM。我认为标准的 XML 日期/时间格式是 YYYY-MM-DDTHH:MM:SS?那么为什么这不能正确反序列化呢?

注意:我无法控制我正在反序列化的 XML 文档。它来自第三方系统。

最佳答案

将访问修饰符从 private 更改为 public:

[XmlElement("StartDate")]
public DateTime StartDate { get; set; }

XmlSerializer can only serialize public fields and properties.

关于c# - XmlSerializer 不反序列化 DateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22716830/

相关文章:

c# - 如何将枚举序列化为 XML 文本

java - 如何在 Horizo​​ntalview 中将 imageview 显示为 slider ,它将显示为列表但仅关注一个项目

python - 在Python中测量短间隔最安全、最可靠的方法? (跨平台、跨硬件、抗夏令时、闰秒)

c# - Web 方法可以重载吗?

c# - 限制类的实例创建?

c# - 计算 TcpClient 通过 NetworkStream BinaryReader/BinaryWriter 传输的字节数

java - XML 节点和子节点

c# - 在 C# 中使用 SQLite 的 Pragma-s

python - 如何验证字符串是否正确的日期格式

sqlite - 计算当月星期几的第一天和最后一天