有没有办法在Servicestack.Net中覆盖XML DateTime序列化,就像我们可以使用JSON一样:
JsConfig<DateTime>.SerializeFn = date => new DateTime(date.Ticks, DateTimeKind.Local).ToString("dd.MM.yyyy HH:mm:ss");
我想对所有XML DateTimes做同样的事情。
修改
我刚刚发现我可以使用以下方法挂钩XML序列化:
this.ContentTypeFilters.Register("application/xml", SerializeXmlToStream, DeserializeXmlFromStream);
public static void SerializeXmlToStream(IRequestContext requestContext, object response, Stream stream)
{
using (var sw = new StreamWriter(stream))
{
sw.Write(response.ToXml());
}
}
返回与没有此挂钩的XML相同的XML。如果有人知道如何使用这种或任何其他全球方式将DateTime的序列化更改为自定义格式,请告诉我。