我正在使用XmlSerializer针对一个由XSD.EXE生成的类进行操作。
XmlSerializer serializer = new XmlSerializer(obj.GetType());
抛出异常
InvalidOperationException 无法生成临时类(result=1)。 错误 CS0030:无法将类型“itemOrderItemsItem[]”转换为“itemOrderItemsItem”。 错误 CS0029:无法隐式转换类型“itemOrderItemsItem”为类型“itemOrderItemsItem[]”
修复方案(在下面标记为<!--fix...-->
)建议在模式中添加一些无意义的元素,但这并不起作用。这个修复方案已经五年了。是否有解决方案?
<xs:sequence>
<xs:element name="item" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="model" type="xs:string" minOccurs="0" />
<xs:element name="description" type="xs:string" minOccurs="0" />
<xs:element name="material" type="xs:string" minOccurs="0" />
<xs:element name="lot" type="xs:string" minOccurs="0" />
<xs:element name="serial" type="xs:string" minOccurs="0" />
<xs:element name="transferQty" type="xs:string" minOccurs="0" />
<xs:element name="shipQty" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="tmp" type="xs:string" /><!--fix...-->