C#xml序列化程序-无法生成临时类
我正在尝试通过以下方式将xml序列化到类:C#xml序列化程序-无法生成临时类,c#,xml,serialization,C#,Xml,Serialization,我正在尝试通过以下方式将xml序列化到类: XmlSerializer ser = new XmlSerializer(typeof(PSW5ns.PSW5)); StringReader stringReader; stringReader = new StringReader(response_xml); XmlTextReader xmlReader; xmlReader = new XmlTextReader(stringReader); PSW5ns.PSW5 obj; obj = (
XmlSerializer ser = new XmlSerializer(typeof(PSW5ns.PSW5));
StringReader stringReader;
stringReader = new StringReader(response_xml);
XmlTextReader xmlReader;
xmlReader = new XmlTextReader(stringReader);
PSW5ns.PSW5 obj;
obj = (PSW5ns.PSW5)ser.Deserialize(xmlReader);
xmlReader.Close();
stringReader.Close();
类PSW5是由xsd.exe使用提供给我的PSW5.xsd文件自动生成的。
我在其他课程上也做了同样的练习,效果很好。现在我得到以下错误(在运行时):
我很困惑,因为它同样适用于其他类。
如果有任何建议,我将不胜感激。
谢谢你的帮忙,
Giorgos看起来您是从一个XML文件加载的,该文件定义了一个元素成员(它是
PSW5ns.TAX\u INF
),与类的数组成员(它是PSW5ns.TAX\u INF[]
数组)同名。是否确实已将类的特定状态序列化到要从中加载的XML文档中?如果更改了类并尝试加载与当前架构不匹配的旧状态,则可能会出现如下错误。查看xsd和类-其中一个将定义
TAX\u INF
对象,另一个将定义TAX\u INF[]
数组或集合
您看到的问题是序列化程序无法从单个对象转换为集合
要解决此问题,请确保xsd和类匹配。似乎有相关主题。
显然,您可以通过手动编辑输出文件来解决此问题
{"Unable to generate a temporary class (result=1).\r\nerror CS0030:
Cannot convert type 'PSW5ns.TAX_INF[]' to 'PSW5ns.TAX_INF'\r\nerror CS0029:
Cannot implicitly convert type 'PSW5ns.TAX_INF' to 'PSW5ns.TAX_INF[]'\r\n"}