c# - RC 更新后的 ASP.NET WebAPI XML 序列化

标签 c# asp.net-4.0 asp.net-web-api asp.net-4.5

在 asp.net 4 RC 更新之前,我一直使用 WebApi 来输出 XML。我的模型有 XmlSerialization 属性 [XmlElement(ElementName = "the name")]这样我就可以使用更友好的名称。

例如

[XmlElement(ElementName = "Branch")]
public string site_nm { get; set; }

.net 4 RC 更新后,输出的 XML 忽略了这一点。

我知道 WebApi 中有些东西发生了变化,比如在返回时使方法基于 OData 协议(protocol)返回值 IQueryable<T> ,您现在需要添加 [Queryable]到你的方法。

我需要添加什么才能使序列化工作吗?我已通读更改说明,但看​​不到任何内容。

最佳答案

您需要指示格式化程序使用 XmlSerializer:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;

现在默认是 DataContractSerializer。

关于c# - RC 更新后的 ASP.NET WebAPI XML 序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290871/

相关文章:

c# - ASP.Net:如何打开第二个窗口并在主窗口中写一些东西?

c# - 在 TestResults 的 deploymentFolder 的 "Out"文件夹中从 UnitTest 输出,在 Visual Studio 中使用 MSTest

c# - 如何在与 postman 的同一请求中测试上传文件和json?

javascript - 交替/双模式 JavaScript 水印

c# - Web Api 2 处理 OPTIONS 请求

asp.net-mvc - 创建单个 Controller 以返回数据和 View

c# - Windows Phone 8.1 XAML 中带有 WrapGrid 的 ListView 的奇怪行为

c# - 将 Python 代码转换为等效的 C#

javascript - 在复选框选中更改事件中使用 Javascript 中的母版页时无法调用函数

c# - 通过配置强制在 wcf 客户端 c# 中使用 tls 1.0