gra*_*ady 48 c# xsd xml-deserialization
我使用xsd.exe工具从我的xsd文件创建一个类后出现此错误.所以我在网上搜索并找到了解决方案.这是链接:http://satov.blogspot.com/2006/12/xsdexe-generated-classes-causing.html
问题是这会使代码运行,但不知何故反序列化数据似乎已损坏.我做了网站建议的内容,最后第二个数组维度总是空的(参见网站的评论,有人也有这个问题).问题是,我现在该如何解决这个问题?是否有另一种工具来创建xsd文件?我尝试过Xsd2Code,没有成功.
谢谢 :-)
小智 116
您需要更改序列化类中成员变量的类型.例如,如果它引发错误,如:
无法生成临时类(result = 1).错误CS0030:无法将类型'Data []'转换为'Data'.
我在生成的文件中搜索了数据类型名称,我发现了这个:
[System.Xml.Serialization.XmlArrayItemAttribute("Data", typeof(Data), IsNullable=false)]
public Data[][] Row
Run Code Online (Sandbox Code Playgroud)
替换Data[][]为Data[] - 将数据类型从2D阵列更改为1D阵列.它会解决你的问题.:)
我收到了这个错误.在您的解决方案中,该文件中有reference.cs文件,您需要搜索"[] []",然后会有两个结果...
需要从两个地方的"[] []"中删除一个"[]"之后..
这个对我有用..
谢谢..
如果您不想丢失数组的维度,请
在架构文件中的<xs:attribute name="tmp" type="xs:string" />
每个
<xs:sequence maxOccurs="unbounded">
<xs:element ../>
</xs:sequence>
和
<xs:sequence>
<xs:element maxOccurs="unbounded"/>
</xs:sequence>
元素之后添加。