此问题的变体已被问到几十次,但我需要的解决方案似乎极其难以捉摸。我希望这次是魅力!将C#日期时间转换为XML日期时间类型
我有一个C#应用程序,它正在通过SOAP XML与Java Web服务进行通信。应用程序使用WSDL导入服务时没有问题。但是,其中一个xml对象的类型为dateTime。
<complexType name="Interaction">
<sequence>
<element name="ContactDate" type="dateTime" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
我有一个我从数据库中检索到的日期,如下所示:2013-07-10。 我需要得到它进入使用UTC格式的XML DateTime对象:YYYY-MM-DDTHH:MM:ss.fffzzz
我可以很容易地将它转换为正确解析字符串。这不是问题。当我尝试将数据加载到服务对象时,会发生此问题。我无法将数据加载为字符串。它必须是DateTime对象,但是DateTime拒绝使用UTC格式。
我认为这可能是序列化的问题。我认为在转换为xml以发送到Web服务时无法正确序列化。这里是这个特定元素的序列化信息:
[System.Xml.Serialization.XmlElementAttribute(Order=2)]
public System.DateTime ContactDate {
get {
return this.contactDateField;
}
set {
this.contactDateField = value;
this.RaisePropertyChanged("ContactDate");
}
}
关于我可能会丢失或做错的任何想法?任何帮助将不胜感激。 谢谢!
这是序列化问题还是解析问题?这个答案有帮助吗? http://stackoverflow.com/a/1756681/116895 – lance
另一个潜在的帮助? http://stackoverflow.com/q/6314154/116895 – lance
仍在研究这个,但提供的这些技巧似乎都是采用xml或DateTime并将其转换为字符串的常见方案。转换为字符串似乎不是问题。更重要的是强制DateTime序列化为正确的格式。如果我能捕获序列化输出以验证它放在那里,那将会很好。 –