从 C# WebAPI 返回 XML(格式问题)

Returning XML From C# WebAPI (Formatting Issues)

我正在从我的 C# Web API.

调用 XML API

来自 XML API 的响应应返回给发起请求的最终用户。

目前格式似乎已损坏。当您直接调用 XML API 时,它 returns 正如预期的那样,但是,我的 C# API returns 响应只是一个 'lump' 字符串。

我是否需要将其反序列化为一个对象以使其获得更好的输出?

            using (WebClient wc = new WebClient())
        {
            wc.BaseAddress = $"https://{urlBase}";
            wc.Headers.Add(AuthorizationHeader, authorization);
            result = wc.DownloadString(urlPath);

        }

        return result;

当我使用 Fiddler 查看应用程序对 XMLAPI 的调用时,我可以看到 XMLAPI 的响应具有正确的应用于它的格式。但是,当它从我的 C# API 返回时,格式似乎已损坏。

在 Application_Start 中,我强制应用程序使用 XMLMediaTypeFormatter 而不是 JSON,这似乎没有用:

        GlobalConfiguration.Configuration.Formatters.Clear();
        GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.XmlMediaTypeFormatter());

尝试下面应该 return XElement 的列表。如果你的结果只有内部文本或者你也有属性,我可以从黑色代码中看出

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string response = "";
            XDocument doc = XDocument.Parse(response);
            XElement applist = doc.Root;
            XNamespace ns = applist.GetDefaultNamespace();

            List<XElement> apps = doc.Descendants(ns + "app").ToList();
        }
    }
}