Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何配置.net核心api中使用的默认XmlSerializer_C#_Xml_Asp.net Core_.net Core - Fatal编程技术网

C# 如何配置.net核心api中使用的默认XmlSerializer

C# 如何配置.net核心api中使用的默认XmlSerializer,c#,xml,asp.net-core,.net-core,C#,Xml,Asp.net Core,.net Core,有人知道如何配置在.net core api项目的启动up类中使用IMVCBuilder时添加的XML序列化程序吗。特别是当您使用此选项时: services.AddMvc() .AddJsonOptions(options => { options.SerializerSettings.DateFormatHandling = Newtonsoft.Json.DateFormatHandling.IsoDateFormat; // UTC (ISO 860

有人知道如何配置在.net core api项目的启动up类中使用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()
我尝试使用
AddXmlOptions
扩展方法,但是
MvcXmlOptions
类中没有属性(除了
AllowRfc7807CompliantProblemDetailsFormat

我试图配置的特定设置是从根元素中省略xml声明。这里有很多答案可以解决这个问题,但都涉及到实例化一个新的XmlSerializer。当Accept标头设置为
application/xml
时,我需要该设置来应用控制器使用的默认序列化程序。请尝试以下操作:

services.Configure<MvcXmlOptions>(options =>
{
    //set options here
});
services.Configure(选项=>
{
//在此处设置选项
});
您可以使用以下内容访问输出格式化程序使用的:

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

    xmlWriterSettings.OmitXmlDeclaration = true;
});
services.Configure(选项=>
{
var xmlWriterSettings=options.OutputFormatters
第()类
.Single()
.WriterSettings;
xmlWriterSettings.OmitXmlDeclaration=true;
});

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

不幸的是,这与AddXmlOptions扩展方法存在相同的问题,因为MvcXmlOptions类上没有属性。