//利用 XmlSerializer配合StreamReader对 xml 文件进行 序列与反序列化
首先创建一个XMLSerializeHelper类
public class XMLSerializerHelper<T> where T : new()
{
//设置书写格式
Encoding code = Encoding.UTF8;
//序列化
public void WriteXML(string path, T obj)
{
XmlSerializer xml = new XmlSerializer (typeof(T));
StreamWriter writer = new StreamWriter(path, false, code);
xml.Serialize(writer, obj);
}
//反序列化
public T ReaderXML(string path)
{
T obj;
XmlSerializer xml = new XmlSerializer(typeof(T));
StreamReader reader = new StreamReader(path, code, false);
obj = (T)xml.Deserialize(reader);
return obj;
}
其次在使用时调用
string path = Server.MapPath(@"~/XML/ListXML.xml");
XMLSerializerHelper<List<Student>> ser = new XMLSerializerHelper<List<Student>>();
ser.WriteXML(path, list);
Response.Write("已经生成¨¦xml");