List保存为XML文件

时间:2023-01-12 23:45:44

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

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

List<T>保存为XML文件

代码:

 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);
}
}
}

创建Model:
List<T>保存为XML文件

创建一个Entity,是数据的集合:
List<T>保存为XML文件

code source:

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

接下来,创建控制器

List<T>保存为XML文件

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
};
}

完成视图,简单:
List<T>保存为XML文件

效果演示:
List<T>保存为XML文件