如何“装饰”复杂的C#类以从休眠端点正确反序列化?

时间:2013-04-25 20:46:57

标签: c# asp.net-mvc xml-parsing asp.net-web-api xml-serialization

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

然后我尝试使用Web API来访问同一个端点并将XML转换为我的POCO,但通常不会立即开箱即用。

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

[XmlElement的( “dateAdded”)] [数据成员]

我发现从端点返回的更复杂的XML类型几乎不可能正确反序列化,因为我不知道如何装饰类。我在哪里可以找到告诉我如何操作的指南?

提前感谢 -

2 个答案:

答案 0 :(得分:0)

您能提供XML的示例片段吗?如果不查看实际的XML,很难确切地知道它为什么不起作用......

要尝试的一件事是将Web API的XmlMediaTypeFormatter设置为使用XmlSerializer而不是默认的DataContractSerializer

WebApiConfig.cs:

config.Formatters.XmlFormatter.UseXmlSerializer = true;

答案 1 :(得分:0)

我已经打开了一个新问题,里面有一些细节。感谢所有观看和帮助到目前为止!

Using 'Paste XML as Classes' to deserialize a Web API rest response