56

可能重复:
从 ASP.NET MVC 中的控制器操作返回 XML 的最佳方法是什么?

我能够将 JSON 和部分视图 (html) 作为有效的 ActionResult 返回,但是如何返回 XML 字符串?

4

4 回答 4

131

您可以使用return this.Content(xmlString, "text/xml");从操作中返回构建的 XML 字符串。

于 2009-05-18T17:01:56.563 回答
7

对于 JSON/XML,我编写了一个XML/JSON 操作过滤器,它可以很容易地处理,而无需在您的操作处理程序中处理特殊情况(这就是您似乎正在做的事情)。

于 2009-05-18T18:55:35.727 回答
4

另一种方法是使用 XDocument:

using System.Xml.Linq;

public XDocument ExportXml()
{
    Response.AddHeader("Content-Type", "text/xml");

    return XDocument.Parse("<xml>...");
}
于 2011-10-14T18:26:54.143 回答
4

如果您正在使用 Linq-to-XML 构建 XML,请在此处查看我的答案。它允许您编写如下代码:

public ActionResult MyXmlAction()
{
    var xml = new XDocument(
        new XElement("root",
            new XAttribute("version", "2.0"),
            new XElement("child", "Hello World!")));

    return new XmlActionResult(xml);
}
于 2012-10-03T22:32:43.283 回答