网上查了资料,序列化有多种方法,这里我写上自己刚用过的一种生成XML文件的,有需要的朋友可以自己百度一下其他方法。
1.添加引用 “using System.Xml.Serialization;”;
2.用”[Serializable]“标记上要序列化的类,如下图
[Serializable] public class LogService { public string strName; public string strImage; public string strToolNum; public List<MainProperty> MainPropertyList; }
3.将第2步中的要序列化的类“LogService”中的变量都赋值,包括“List<ChildProperty> ChildPropertyList”;
4.在需要生成XML序列化文件的代码位置处,例如“序列化”按钮的单击事件中添加如下代码:
XmlSerializer xs = new XmlSerializer(typeof(LogService)); Stream stream = new FileStream(保存路径(含xml文件名和后缀), FileMode.Create, FileAccess.Write, FileShare.Read); xs.Serialize(stream, 赋值后的“LogService”实例); stream.Close();
到这,序列化一个XML文件就完成了,下面是将该文件反序列化;
5.反序列化代码很简单,如下:
XmlSerializer xs = new XmlSerializer(typeof(LogService)); Stream stream = new FileStream(文件保存路径(含xml文件名和后缀), FileMode.Open, FileAccess.Read, FileShare.Read); LogService logS = xs.Deserialize(stream) as LogService;
这样,序列化的文件就被读到“LogService”类的实例“logS”中了。
【序列化】小结,逐步完善中
时间: 2024-10-12 08:35:25