序列化和反序列化

来源:互联网 发布:怎么把网页模板优化 编辑:程序博客网 时间:2024/04/26 15:24
 先定义一个类

[Serializable()]
    //[XmlRoot("shintech")]
    public class Person
    {
        private int _age;
        private string _name;

        public int age
        {
            get { return _age; }
            set { _age = value;}
        }
        public string name
        {
            get { return _name; }
            set { _name = value;}
        }
        public Person()
            : this(0, string.Empty)
        { }
        public Person(int m_age, string m_name)
        {
            _age = m_age;
            _name = m_name;
        }
序列化
        private void button1_Click(object sender, EventArgs e)
        {
            Person P = new Person() ;
            StringWriter sw = new StringWriter();
            XmlTextWriter xw = new XmlTextWriter(sw);
            xw.Formatting = Formatting.Indented;
            XmlSerializer xs=new XmlSerializer(typeof(Person));
            textBox1.Text=sw.ToString();
        }
反序列化
        private void button2_Click(object sender, EventArgs e)
        {
            StringReader sr = new StringReader(textBox1.Text);
            XmlTextReader xr = new XmlTextReader(sr);
            XmlSerializer xs = new XmlSerializer(typeof(Person));
            Person p = (Person)xs.Deserialize(xr);
            textBox1.Text = p.age.ToString() + p.name.ToString();
           
        }
 
原创粉丝点击