我試圖反序列化OFX XML文檔轉換成它的對象(我轉換XSD對班)Deserialising XML文檔投擲錯誤 - 如何找出它失敗
這裏是下面的代碼。
XmlSerializer xmlSerializer = new XmlSerializer(typeof(OFX));
using (var reader = xmlDoc.Root.CreateReader())
{
return (OFXRequest)xmlSerializer.Deserialize(reader);
}
它未能對XML的XmlSerializer的newing了錯誤
的XML文檔:
<?OFX OFXHEADER=200 VERSION=211 SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE" ?>
<OFX>
<SIGNONMSGSRQV1>
<SONRQ>
<DTCLIENT>20120202</DTCLIENT>
<USERID>USER-ID</USERID>
<USERPASS>PASSWORD</USERPASS>
<LANGUAGE>ENG</LANGUAGE>
<FI>
<ORG>Organisation</ORG>
<FID>OrganisationID</FID>
</FI>
<APPID>YOD</APPID>
<APPVER>1</APPVER>
</SONRQ>
</SIGNONMSGSRQV1>
<SIGNUPMSGSRQV1>
<ACCTINFOTRNRQ>
<TRNUID>456579841231</TRNUID>
<ACCTINFORQ>
<DTACCTUP>2013101209000.000[2:GMT]</DTACCTUP>
</ACCTINFORQ>
</ACCTINFOTRNRQ>
</SIGNUPMSGSRQV1>
</OFX>
的錯誤:
Unable to generate a temporary class (result=1). error CS0030: Cannot convert type 'System.DateTime' to 'string' error CS0030: Cannot convert type 'System.DateTime' to 'string' error CS0030: Cannot convert type 'System.DateTime' to 'string'
我需要知道的是如何在反序列化時發現失敗的代碼中的確切位置?沒有內部異常等
你的OFXRequest類是什麼樣的? – galenus
這個錯誤是在元數據/元編程階段 - 而不是「讀取xml」階段 - 因此這裏有趣的事情不是xml,而是:c#。 「OFXRequest」是什麼樣的? –
它的長度約50000行 - 在這裏粘貼有點困難。我可以將文件上傳到某個服務器? – daveBM