首页 > 代码库 > 【序列化】小结,逐步完善中

【序列化】小结,逐步完善中

网上查了资料,序列化有多种方法,这里我写上自己刚用过的一种生成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”中了。