Con*_*hop 5 c# xml .net-core asp.net-core
有谁知道如何配置在 .net core api 项目的启动类中使用 IMVCBuilder 时添加的 XML 序列化器。具体来说,当你使用这个时:
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat; // UTC (ISO 8601) format for dates
options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
})
.AddXmlSerializerFormatters()
.AddXmlDataContractSerializerFormatters()
Run Code Online (Sandbox Code Playgroud)
我尝试使用AddXmlOptions扩展方法,但该类没有属性MvcXmlOptions(除了AllowRfc7807CompliantProblemDetailsFormat)
我尝试配置的具体设置是省略根元素中的 xml 声明。这里有很多解决这个问题的答案,但它们都涉及实例化一个新的 XmlSerializer。当 Accept 标头设置为时,我需要设置来应用控制器使用的默认序列化器application/xml
您可以使用XmlWriterSettings如下所示的方法来获取输出格式化程序使用的内容:
services.Configure<MvcOptions>(options =>
{
var xmlWriterSettings = options.OutputFormatters
.OfType<XmlSerializerOutputFormatter>()
.Single()
.WriterSettings;
xmlWriterSettings.OmitXmlDeclaration = true;
});
Run Code Online (Sandbox Code Playgroud)
对的调用AddXmlSerializerFormatters添加了一个 的实例XmlSerializerOutputFormatter。上面的代码找到该特定实例并相应地修改其设置。
| 归档时间: |
|
| 查看次数: |
3562 次 |
| 最近记录: |