deserialize - xmlserializer c#




無法生成臨時類(結果= 1)。 錯誤CS0030:無法將類型'Type[]'轉換為'Type'? (5)

我使用xsd.exe工具從我的xsd文件創建了一個類後出現此錯誤。 所以我搜索了網絡,發現了一個解決方案。 這裡是鏈接: http : //satov.blogspot.com/2006/12/xsdexe-generated-classes-causing.html

問題是,這使得代碼運行,但不知何故反序列化的數據似乎損壞。 我做了網站的建議,最後第二個數組維度總是空的(查看網站的評論,有人也有這個問題)。 問題是,我現在怎麼解決這個問題呢? 是否有另一個工具來創建xsd文件? 我試過Xsd2Code,沒有成功。

謝謝 :-)


有同樣的問題,但Xsd2Code沒有與VS2012集成。 所以,而是我去了我的xsd.exe生成的.cs文件,並做到:

查找[] []替換[]

哪些工作。


對於我的情況,由於XmlArrayItem屬性屬性的無效聲明導致的問題。

[XmlArrayItem("MyArray", typeof(string))]
public List<ClassName> Items{ get; set; }

我改變了適當的類型:從字符串到ClassName

[XmlArrayItem("MyArray", typeof(ClassName))]
public List<ClassName> Items{ get; set; }

希望這可以幫助!


如果它在VB.net中,那麼你需要在你的Reference.vb中搜索()()並用()


在每次之後添加<xs:attribute name="tmp" type="xs:string" />
<xs:sequence maxOccurs="unbounded"> <xs:element ../> </xs:sequence>

<xs:sequence> <xs:element maxOccurs="unbounded"/> </xs:sequence>
如果你不想鬆散數組的維度,你的模式文件中的元素。


對我來說,這有助於修補用於生成代碼的XML。 這發生在:

<Names>
    <Name></Name>
    <Name></Name>
</Names>

那麼這是由xsd優化雙數組名稱條目

我做的是:

<Names>
    <Dummy></Dummy>
    <Name></Name>
    <Name></Name>
</Names>

xsd不會優化它,而是留下單個數組名稱