我在尝试将一些日期添加到通过 XML 序列化加载的预先存在的类中时遇到问题,并且它没有做我认为应该做的事情。
我用 SQL 完成了一个基本测试(其中 EffectiveFrom 和 EffectiveTo 被声明为DATETIME
)
SELECT o.EffectiveFrom AS [@EffectiveFrom],
o.EffectiveTo AS [@EffectiveTo],
FROM dbo.MyObject o
FOR XML PATH('MyObject'), ROOT('ArrayOfMyObject'), type
这给出了 XML:
<ArrayOfMyObject>
<MyObject EffectiveFrom="1977-11-23T00:00:00" EffectiveTo="2050-01-01T00:00:00" />
</ArrayOfMyObject>
然后我将这个类声明为:
public class MyObject
{
[XmlAttribute("EffectiveFrom")]
public DateTime EffectiveFrom { get; set; }
[XmlAttribute("EffectiveTo")]
public DateTime EffectiveTo { get; set; }
}
但是,没有设置属性。我可能只是度过了“忙碌的一天”,却错过了明显的眩目,但我本以为这会“正常工作”——有什么想法为什么不这样吗?
我是否真的必须创建一些调用Date.ParseExact()
集合和ToString()
获取的字符串属性,将其标记为 XML 序列化,并将真实属性标记为XmlIgnore()
?