此問題的變體已被問到幾十次,但我需要的解決方案似乎極其難以捉摸。我希望這次是魅力!將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序列化爲正確的格式。如果我能捕獲序列化輸出以驗證它放在那裏,那將會很好。 –