ASP.NET MVC 扩展一个 XmlResult 的 ActionResult ,以便返回XML文件
2011-05-02 17:10 音乐让我说 阅读(996) 评论(0) 编辑 收藏 举报代码能说明一切:
namespace MvcAppOne.Extendsions { using System; using System.Collections.Generic; using System.Web.Mvc; using System.IO; using System.Xml.Serialization; public class XmlResult : ActionResult { public XmlResult(Object data) { this.Data = data; } public Object Data { get; private set; } public override void ExecuteResult(ControllerContext context) { if (Data == null) { //new EmptyResult().ExecuteResult(context); // 这句代码可有可无 return; } context.HttpContext.Response.ContentType = "application/xml"; using (MemoryStream ms = new MemoryStream()) { XmlSerializer xs = new XmlSerializer(Data.GetType()); xs.Serialize(ms, Data); // 把数据序列化到内存流中 ms.Position = 0; using (StreamReader sr = new StreamReader(ms)) { //读取流对象 context.HttpContext.Response.Output.Write(sr.ReadToEnd()); } } } } }
谢谢浏览!
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。