今日我们学习怎么样把List<T>写成一个XML文件保存起来。因为我们在举行动态网站开发时,需要对一些非太经常变化的数目有也XML文件,让程序直接去读取,而无是每次是SQL数据库取。

为缓解一个题材,我们得需要先创造一个自定义的Result()在ASP.NET
MVC中。这个Result操作可以继承ActionResult或者ContentResult。

XML 1

 

代码:

XML 2XML 3

 class XmlResult<T> : ActionResult
    {
        public T Data { private get; set; }
        public string FilePhysicalPath { private get; set; }

        public override void ExecuteResult(ControllerContext context)
        {
            XmlSerializer xml = new XmlSerializer(typeof(T));

            using (StreamWriter writer = new StreamWriter(FilePhysicalPath))
            {
                xml.Serialize(writer, Data);
            }
        }
    }

View Code

创建Model:
XML 4

 

创建一个Entity,是数的成团:
XML 5

 

code source:

XML 6XML 7

 public class NumberEntity
    {
        public List<Number> Numbers()
        {
            return new List<Number>(){
                new Number() { Num = 20 },
                new Number() { Num = 40 },
                new Number() { Num = 60 },
                new Number() { Num = 80 }
            };
        }
    }

View Code

联网下去,创建控制器

XML 8

code source:

XML 9XML 10

 public ActionResult XmlDemo()
        {
            return View();
        }

        public ActionResult ConvertListSaveFile()
        {
            NumberEntity ne = new NumberEntity();

            string fileName = Guid.NewGuid().ToString() + ".xml";
            string filephysicalPath = Server.MapPath("~/Temp/") + fileName;

            return new XmlResult<List<Number>>()
            {
                Data = ne.Numbers(),
                FilePhysicalPath = filephysicalPath
            };
        }

View Code

完成视图,简单:
XML 11

 效果演示:
XML 12

 

相关文章

网站地图xml地图