如何返回一个XMLstring作为MVC中的一个行动结果

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

我能够将JSON和部分视图(html)作为有效的ActionResult返回,但如何返回一个XMLstring?

你可以使用return this.Content(xmlString, "text/xml"); 从操作返回一个构build的XMLstring。

对于JSON / XML我写了一个XML / JSON动作filter ,可以很容易地处理,而不需要在你的动作处理器中处理特殊的情况(这就是你所做的)。

另一种方法是使用XDocument:

 using System.Xml.Linq; public XDocument ExportXml() { Response.AddHeader("Content-Type", "text/xml"); return XDocument.Parse("<xml>..."); } 

如果您使用Linq-to-XML构buildXML, 请查看我的答案 。 它允许你写这样的代码:

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