c# - 如何让 ASP.NET Core 返回 XML 结果?

标签 c# xml asp.net-core asp.net-core-webapi webapi

[HttpGet]
[HttpPost]
public HttpResponseMessage GetXml(string value)
{
    var xml = $"<result><value>{value}</value></result>";
    return new HttpResponseMessage
   {
       Content = new StringContent(xml, Encoding.UTF8, "application/xml")
   };
}

我使用 Swagger 调用了 Action 并传递了这个参数“文本值”

预期 结果应该是这样的 XML 文件:文本值

实际结果:奇怪的 json 结果没有传递值! https://www.screencast.com/t/uzcEed7ojLe

我尝试了以下解决方案但没有奏效:

services.AddMvc().AddXmlDataContractSerializerFormatters();
services.AddMvc().AddXmlSerializerFormatters();

最佳答案

试试这个解决方案

[HttpGet]
[HttpPost]
public ContentResult GetXml(string value)
{
    var xml = $"<result><value>{value}</value></result>";
    return new ContentResult
    {
        Content = xml,
        ContentType = "application/xml",
        StatusCode = 200
    };
}

关于c# - 如何让 ASP.NET Core 返回 XML 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59190580/

相关文章:

c# - 将日期转换为 URL QueryString 并发送

C# WebClient DownloadProgressChanged 无法正常工作

Java:获取嵌套xml文件中子节点值的总和

java - 使用 Java 将 RSS Feed XML 转换为 JSON 仅显示最后一个条目

java - 如何使用 JAXB 注释将 Java 列表转换为 XML?

c# - 递归处理文件夹中文件的快速(低级)方法

c# - 检测某人在 wp7 上插入屏幕的力度有多大

c# - 创建新用户时添加声明

linux - 在 ubuntu 上无法使用 .NET Core 在 LAN 上发送唤醒

asp.net-mvc - 如何通过 netcore3.1 中的环境变量更改 Kestrel (AspNetCore) 监听端口