[英]Using “FOR XML” with XML Serialization with DATETIME type
我在尝试向通过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()
,并在get上创建ToString()
,将其标记为XML序列化,然后将实际属性标记为XmlIgnore()
吗?
我没有看到<MyObject>的结束标记?
似乎可以与SQL Server 2008一起使用,就像我们之前使用SQL Server 2005一样
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.