繁体   English   中英

在DATETIME类型的XML序列化中使用“ FOR XML”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM