我都多个类,需要 序列化和反序列化到一个XML文件.
例如:
有 Student和 Teacher,Worker 三个类,
Student类的实例放在 节点"Students"下;
Teacher类的实例放在 节点"Teachers"下
Worker 类的实例放在 节点"Workers"下
我看了别人都是一个类的LIST序列化和反序列化,我多个怎么办??

解决方案 »

  1.   

    采用继承
    [XmlInclude(typeof(基类))]
      

  2.   

    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();这样的话就方便多了。