List<T>保存为XML文件

本文介绍如何将List<T>转换并保存为XML文件的方法。通过创建自定义的XmlResult<T>类,实现数据到XML文件的转换。适用于ASP.NET MVC开发中减少数据库访问频率的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

 

代码:

 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:

 

创建一个Entity,是数据的集合:

 

code source:

 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


接下来,创建控制器


code source:

 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


完成视图,简单:


 效果演示:


 

转载于:https://www.cnblogs.com/insus/p/4612685.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值