从Web Api Controller返回XML

NET*_*NET -1 c# xml asp.net-mvc asp.net-web-api

如何从web api控制器指定return xml?在一个浏览器中,数据以XML格式打开,在另一个浏览器中以JSON格式打开.

编辑

这是我的行动:

    [HttpGet]
    public IEnumerable<MagazineMeta> GetLastUploadPdfMeta(int count)
    {
       List<MagazineMeta> metas = _metaRepository
                 .GetAll()
                 .OrderBy(e => e.TimeAdd)
                 .Take(count)
                 .ToList();

       return metas;
    }
Run Code Online (Sandbox Code Playgroud)

Pav*_*ner 7

将这两行添加到Global.asax.cs中Application_Start的末尾:

GlobalConfiguration.Configuration.Formatters.Clear();
GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.XmlMediaTypeFormatter());
Run Code Online (Sandbox Code Playgroud)

编辑: 正如@YishaiGalatzer指出的那样,这是一个相当快速和肮脏的解决方法,以实现最初提出的问题.要获得所需的响应格式,请在请求中包含相应的Accept标头(在此问题的上下文中,"application/xml")