C# 从ASP.NET核心Web API方法返回完整的XML响应
我正在利用客户关于web服务的请求接近ASP.NET核心。 该请求是一个web方法,返回C# 从ASP.NET核心Web API方法返回完整的XML响应,c#,xml,api,asp.net-core,model-view-controller,C#,Xml,Api,Asp.net Core,Model View Controller,我正在利用客户关于web服务的请求接近ASP.NET核心。 该请求是一个web方法,返回XML格式的数据,如下所示: <?xml version="1.0" encoding="UTF-8"?> <Person> <Name>John</Name> <Surname>Doe</Surname> . . . </Person> 问题是,当我调用应该返回数据的方法时,我没有XML声明头,这是客户出于某种
XML
格式的数据,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<Name>John</Name>
<Surname>Doe</Surname>
. . .
</Person>
问题是,当我调用应该返回数据的方法时,我没有XML声明头,这是客户出于某种原因需要的:
<?xml version="1.0" encoding="UTF-8"?>
这里是类人:
public class Person
{
public string Name { get; set; }
public string Surname { get; set; }
}
我做了很多研究,但发现的一切对我毫无帮助。我希望使用框架的功能序列化我的类,而不是一个节点一个节点地构建XML结构,因此我希望在服务中的一些设置允许我这样做
如果需要,可以对GetPerson
方法进行任何更改,这只是一个非常简单的测试
提前感谢您的帮助 您需要如下配置XML输出格式化程序:
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<Name>John</Name>
<Surname>Doe</Surname>
. . .
</Person>
public void配置服务(IServiceCollection服务)
{
services.AddControllers();
services.AddMvc(选项=>
{
options.Filters.Add(新产品属性(“text/xml”);
options.OutputFormatters.Add(新的XmlSerializerOutputFormatter(新的XmlWriterSettings
{
省略XMLDeclaration=false
}));
}).AddXmlSerializerFormatters();
}
样本输出:
价值1
价值2
您需要如下配置XML输出格式化程序:
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<Name>John</Name>
<Surname>Doe</Surname>
. . .
</Person>
public void配置服务(IServiceCollection服务)
{
services.AddControllers();
services.AddMvc(选项=>
{
options.Filters.Add(新产品属性(“text/xml”);
options.OutputFormatters.Add(新的XmlSerializerOutputFormatter(新的XmlWriterSettings
{
省略XMLDeclaration=false
}));
}).AddXmlSerializerFormatters();
}
样本输出:
价值1
价值2
HA!我知道在MVM选项中我可以做些什么,但我就是找不到。。。我试过了,它确实有效,非常感谢!哈我知道在MVM选项中我可以做些什么,但我就是找不到。。。我试过了,它确实有效,非常感谢!
public class Person
{
public string Name { get; set; }
public string Surname { get; set; }
}