序列化和反序列化XML的问题
我都多个类,需要 序列化和反序列化到一个XML文件.
例如:
有 Student和 Teacher,Worker 三个类,
Student类的实例放在 节点"Students"下;
Teacher类的实例放在 节点"Teachers"下
Worker 类的实例放在 节点"Workers"下
我看了别人都是一个类的LIST序列化和反序列化,我多个怎么办??
------解决方案--------------------创建一个新类,包含需要序例化的类,然后对此新类进行序列化和反序列化
------解决方案--------------------采用继承
[XmlInclude(typeof(基类))]
------解决方案--------------------
LZ,你这样做,建一个Person类, 毫不出奇的,你的 Student和 Teacher,Worker 三个类 都可以 继承 人这个父类。 用泛型集合List<Person> lst = new List<Person>
定义一个 路劲 String path = "Person.txt";
序列化时:
       //----序列化方法
       public void SaveInfo()  
       {
           //定义文件流
           FileStream fs = new FileStream(Path,FileMode.Create);
           //二进制方式
           BinaryFormatter bf = new BinaryFormatter();
           //序列化存储对象
           bf.Serialize(fs,lst);
           fs.Close();
       }  
反序列化时:
           //判断文件路径是否存在
           if (!File.Exists(Path))
           {
               return;
           }          
           FileStream fs = new FileStream(Path, FileMode.Open);
           BinaryFormatter bf = new BinaryFormatter();
           this.lst = bf.Deserialize(fs) as List<Person>;
           fs.Close();
这样的话就方便多了。