55 votes

Comment retourner une chaîne XML en tant que résultat d'action dans MVC

Dupliquer possible:
Quel est le meilleur moyen de renvoyer XML à partir d'une action d'un contrôleur dans ASP.NET MVC?

Je suis capable de renvoyer JSON et des vues partielles (html) sous la forme d'un ActionResult valide, mais comment retourner une chaîne XML?

131voto

John Downey Points 6729

Vous pouvez utiliser return this.Content(xmlString, "text/xml"); pour renvoyer une chaîne XML construite à partir d'une action.

7voto

aleemb Points 12138

Pour JSON / XML, j'ai écrit un filtre d'action XML / JSON qui le rend très facile à traiter sans gérer les cas particuliers dans votre gestionnaire d'actions (ce que vous semblez être en train de faire).

4voto

Levitikon Points 2258

Une autre façon de faire est d'utiliser XDocument:

 using System.Xml.Linq;

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

    return XDocument.Parse("<xml>...");
}
 

4voto

Drew Noakes Points 69288

Si vous construisez le XML en utilisant Linq-to-XML, consultez ma réponse ici . Cela vous permet d'écrire du code comme ceci:

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

    return new XmlActionResult(xml);
}
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X