gpt4 book ai didi

c# - 如何配置.net core api中使用的默认XmlSerializer

转载 作者:行者123 更新时间:2023-12-04 01:33:23 25 4
gpt4 key购买 nike

有谁知道如何配置在 中使用IMVCBuilder 时添加的XML 序列化程序吗?创业 .net 核心 api 项目的类。特别是当您使用它时:

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()

我尝试使用 AddXmlOptions扩展方法但没有属性 MvcXmlOptions类(除了 AllowRfc7807CompliantProblemDetailsFormat )

我尝试配置的特定设置是从根元素中省略 xml 声明。这里有很多答案可以解决这个问题,但它们都涉及实例化一个新的 XmlSerializer。当 Accept header 设置为 application/xml 时,我需要应用 Controller 使用的默认序列化程序的设置。

最佳答案

您可以访问 XmlWriterSettings 输出格式化程序使用如下所示的内容:

services.Configure<MvcOptions>(options =>
{
var xmlWriterSettings = options.OutputFormatters
.OfType<XmlSerializerOutputFormatter>()
.Single()
.WriterSettings;

xmlWriterSettings.OmitXmlDeclaration = true;
});

调用 AddXmlSerializerFormatters添加 XmlSerializerOutputFormatter 的实例.上面的代码找到该特定实例并相应地修改其设置。

关于c# - 如何配置.net core api中使用的默认XmlSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60401934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com