本文给大家分享一下C#操作(读取、写入)XML文档的实用方法,这种方法主要是对比较规范的XML文档进行操作,因为它(XML文档)和类对象是严格对应的,否则在反序列或序列化的时候会出现错误。其他的不用多说,直接看示例代码吧:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
namespace _01XMLSerialize
{
class Program
{
private static List list = new List()
{
new UserInfo()
{
Id = 1,
UserName = "张三",
UserPass = "FDASDFAS",
Email = "zhangsan@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 2,
UserName = "李四",
UserPass = "FDASDFAS",
Email = "lisi@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 3,
UserName = "王五",
UserPass = "FDASDFAS",
Email = "wangwu@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 4,
UserName = "赵六",
UserPass = "FDASDFAS",
Email = "zhaoliu@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 5,
UserName = "田七",
UserPass = "FDASDFAS",
Email = "tianqi@163.com",
RegTime = DateTime.Now
},
new UserInfo()
{
Id = 6,
UserName = "王八",
UserPass = "FDASDFAS",
Email = "wangba@163.com",
RegTime = DateTime.Now
}
};
static void Main(string[] args)
{
//序列化对象生成文件
WriteSingleXml();
//反序列化文件生成对象
ReadListXml();
Console.ReadKey();
}
///
/// 从XML文件中反序列化对象
///
private static void ReadListXml()
{
//反序列化文件
Console.WriteLine("反序列化XML文件为集合");
var reader = new XmlSerializer(typeof(List));
using (var fs = File.OpenRead("UserInfo.xml"))
{
var result = reader.Deserialize(fs) as List;
result.ForEach(Console.WriteLine);
}
Console.WriteLine("反序列化成功");
}
///
/// 序列化对象到XML文件
///
private static void WriteSingleXml()
{
//序列化集合为xml文件
Console.WriteLine("序列化集合为XML文件");
var reader = new XmlSerializer(typeof(List));
//写入文件
using (var fs = File.OpenWrite("UserInfo.xml"))
{
reader.Serialize(fs, list);
}
Console.WriteLine("写入成功");
}
}
}
运行结果如图:
生成的XML文档如下:
1 张三 FDASDFAS zhangsan@163.com 2016-04-21T09:15:58.5576551+08:00 2 李四 FDASDFAS lisi@163.com 2016-04-21T09:15:58.5576551+08:00 3 王五 FDASDFAS wangwu@163.com 2016-04-21T09:15:58.5576551+08:00 4 赵六 FDASDFAS zhaoliu@163.com 2016-04-21T09:15:58.5576551+08:00 5 田七 FDASDFAS tianqi@163.com 2016-04-21T09:15:58.5576551+08:00 6 王八 FDASDFAS wangba@163.com 2016-04-21T09:15:58.5576551+08:00
以上就是本文的全部内容,希望对大家学习C#程序设计有所帮助。



