2013-05-11 82 views
3

我想反序列化XML,但我收到此錯誤:XML序列化錯誤

無法生成臨時類(結果= 1)。

error CS0030: Cannot convert type 'responseReturnSalesOrder[]' to 'responseReturnSalesOrder'

error CS0029: Cannot implicitly convert type 'responseReturnSalesOrder' to 'responseReturnSalesOrder[]'

我的xml包含一個叫做元素,看起來我無法解析它。

XML是在這裏:

http://pastebin.com/3HD15Syv

Proxy類是在這裏:

http://pastebin.com/M8HP7k9s

我發現了一些奇怪的代碼:

/// <remarks/> 
[System.Xml.Serialization.XmlArrayAttribute(Form=System.Xml.Schema.XmlSchemaForm.Unqualified)] 
[System.Xml.Serialization.XmlArrayItemAttribute("salesOrder", typeof(responseReturnSalesOrder), Form=System.Xml.Schema.XmlSchemaForm.Unqualified, IsNullable=false)] 
public responseReturnSalesOrder[][] @return { 
    get { 
     return this.returnField; 
    } 
    set { 
     this.returnField = value; 
    } 
} 

這裏是我的代碼:

StringReader _InXml = new StringReader(responseData); 
XmlSerializer _oxs = new XmlSerializer(typeof(response)); 
response _Response = new response(); 
_Response = (response)_oxs.Deserialize(_InXml); 
+0

如果您嘗試刪除雙[] []'它是否工作(從所有參考)?我有時在使用XML創建映射文件時遇到此問題。 – webnoob 2013-05-11 21:33:18

+1

注意:當我說刪除時,將其更改爲單個'[]'。 – webnoob 2013-05-11 21:34:21

+0

這工作謝謝! – 2013-05-11 21:40:07

回答

3

問題是public responseReturnSalesOrder[][]不應該是一個多維數組。

更改爲public responseReturnSalesOrder[]它應該工作。我發現這個問題發生在使用XML/XSD的xsd.exe創建映射文件時。