Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/335.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
我如何';装饰';要从rest端点正确反序列化的复杂C#类?_C#_Asp.net Mvc_Xml Parsing_Asp.net Web Api_Xml Serialization - Fatal编程技术网

我如何';装饰';要从rest端点正确反序列化的复杂C#类?

我如何';装饰';要从rest端点正确反序列化的复杂C#类?,c#,asp.net-mvc,xml-parsing,asp.net-web-api,xml-serialization,C#,Asp.net Mvc,Xml Parsing,Asp.net Web Api,Xml Serialization,当使用rest端点时,我可以使用RestClient测试它,并返回格式良好的XML。我可以使用VS2012的“将XML粘贴为类”功能将XML复制并粘贴到POCO中 然后,我尝试使用WebAPI访问同一个端点,并将XML转换为我的POCO,但通常不会立即运行 通常,对于较简单的类,我可以用各种注释装饰成员并使其工作。为什么会这样?为什么原始生成的类不能与Web API一起工作 [XmlElement(“已添加日期”)] [数据成员] 我发现,从端点返回的更复杂的XML类型几乎不可能正确地反序列化,

当使用rest端点时,我可以使用RestClient测试它,并返回格式良好的XML。我可以使用VS2012的“将XML粘贴为类”功能将XML复制并粘贴到POCO中

然后,我尝试使用WebAPI访问同一个端点,并将XML转换为我的POCO,但通常不会立即运行

通常,对于较简单的类,我可以用各种注释装饰成员并使其工作。为什么会这样?为什么原始生成的类不能与Web API一起工作

[XmlElement(“已添加日期”)] [数据成员]

我发现,从端点返回的更复杂的XML类型几乎不可能正确地反序列化,因为我不知道如何修饰类。我在哪里可以找到指导我如何做这件事的指南


提前感谢-

您能提供XML的示例片段吗?如果不查看实际的XML,就很难确切地说出它为什么不工作

但有一件事需要尝试,那就是将Web API的
XmlMediaTypeFormatter
设置为使用
XmlSerializer
而不是默认的
DataContractSerializer

WebApiConfig.cs:

config.Formatters.XmlFormatter.UseXmlSerializer = true;

我提出了一个新问题,里面有一些细节。感谢大家迄今为止的观看和帮助


您能举一个“更复杂的XML类型”的例子吗?它是嵌套节点还是其他什么?例如对象数组。。。