0

我在尝试将一些日期添加到通过 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()

4

2 回答 2

0

我没有看到 < MyObject > 的结束标签?

于 2009-10-22T08:30:56.157 回答
0

似乎与 SQL Server 2008 一起“正常工作”,而我们之前一直在使用 SQL Server 2005

于 2010-02-09T14:01:20.823 回答