控制Web API中XML响应的DateTime格式

时间:2014-11-14 10:53:22

标签: .net datetime serialization asp.net-web-api xml-serialization

如果DateTime请求内容,如何控制application/xml输出格式?以下适用于JSON:

 JsonMediaTypeFormatter jsonFormatter = config.Formatters.JsonFormatter;
 jsonFormatter.SerializerSettings = new JsonSerializerSettings {
     DateFormatString = "yyyy-MM-dd" };

XmlMediaTypeFormatter的等价物是什么?

更新: 从语义上讲,我的数据没有时间信息。从技术上讲,我希望a)最小化有效载荷b)简化消费(无需在客户端进行处理/格式化)c)无论格式要求如何都能保持一致的响应。

1 个答案:

答案 0 :(得分:1)

您不应该指定自己的格式 - 您应该告诉XML序列化程序该值只是一个日期,使用:

[XmlElement(DataType="date")]

然后强制使用带有config.Formatters.XmlFormatter.UseXmlSerializer = true的XML序列化程序,你应该没问题。这样您就可以使用标准(ISO-8601)格式的日期,yyyy-MM-dd ...这意味着标准工具(例如LINQ to XML)将能够适当地解析XML。 / p>