Как вернуть строку XML в качестве результата действия в MVC [дубликат]
Возможные Дубликаты:
что является лучшим способом, чтобы вернуть XML из действий контроллера в ASP.NET в MVC?
Я могу вернуть JSON и частичные представления (html) как допустимый ActionResult, но как вернуть строку XML?
4 ответа:
вы могли бы использовать
return this.Content(xmlString, "text/xml");
для возврата построенной XML-строки из действия.
для JSON / XML я написал фильтр действий XML/JSON это делает его очень легко решать без обработки особых случаев в обработчике действий (что вы, кажется, делаете).
другой способ сделать это с помощью XDocument:
using System.Xml.Linq; public XDocument ExportXml() { Response.AddHeader("Content-Type", "text/xml"); return XDocument.Parse("<xml>..."); }
Если вы строите XML с помощью Linq-to-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); }