Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#xml序列化程序-无法生成临时类_C#_Xml_Serialization - Fatal编程技术网

C#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 = (

我正在尝试通过以下方式将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 = (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"}