首页 > 代码库 > C# 序列化(Binary、Xml、Soap)

C# 序列化(Binary、Xml、Soap)

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Xml.Serialization;using System.Runtime.Serialization.Formatters.Binary;using System.Runtime.Serialization.Formatters.Soap;namespace Serialization{    class Program    {        static void Main(string[] args)        {            Student stu = new Student("张三", 30, "登山");                        ////二进制序列化            //BinaryFormatter bf = new BinaryFormatter();            //FileStream fs = new FileStream(@"D:\stu.ss", FileMode.Create);            //bf.Serialize(fs, stu);            //fs.Close();            ////二进制反序列化            //BinaryFormatter bf = new BinaryFormatter();            //FileStream fs = new FileStream(@"D:\stu.ss", FileMode.Open);            //Student student = (Student)bf.Deserialize(fs);            //student.method();            ////xml序列化            //XmlSerializer xml = new XmlSerializer(typeof(Student));            //FileStream fs = new FileStream(@"D:\stu.xml",FileMode.Create);            //xml.Serialize(fs, stu);            //fs.Close();            ////xml反序列化            //XmlSerializer xml = new XmlSerializer(typeof(Student));            //FileStream fs = new FileStream(@"D:\stu.xml", FileMode.Open);            //Student student = (Student)xml.Deserialize(fs);            //student.method();            ////soap序列化            //SoapFormatter soap = new SoapFormatter();            //FileStream fs = new FileStream(@"D:\stu.soap", FileMode.Create);            //soap.Serialize(fs, stu);            //fs.Close();            //soap反序列化            SoapFormatter soap = new SoapFormatter();            FileStream fs = new FileStream(@"D:\stu.soap", FileMode.Open);            Student student = (Student)soap.Deserialize(fs);            student.method();                    }    }    [Serializable]    public class Person    {        public Person()        {        }        public Person(string name, int age)        {            this.Name = name;            this.Age = age;        }        public string Name        {            get;            set;        }        public int Age        {            get;            set;        }    }    [Serializable]    public class Student : Person    {        public Student()        {        }        public Student(string name, int age, string hobby)            : base(name, age)        {            this.Hobby = hobby;        }        public string Hobby        {            get;            set;        }        public void method()        {            Console.WriteLine("大家好,我叫{0},今年{1}岁,我喜欢{2}", this.Name, this.Age, this.Hobby);            //Console.ReadLine();        }    }}
View Code

 

C# 序列化(Binary、Xml、Soap)