通过XmlSerializer序列化(对象)和反序列化(xml文件)

xml文件

  
    
<? xml version="1.0" ?>
< User xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd ="http://www.w3.org/2001/XMLSchema" >
< Name > issac </ Name >
< Age > 25 </ Age >
< Address >
< Adrs > 123 </ Adrs >
</ Address >
</ User >

[XmlRoot("User")]

    public class User

    {

        [XmlElement("Name")]

        public string Name { get; set; }



        [XmlElement("Age")]

        public int Age { get; set; }



        [XmlElement("Address")]

        public Address Address1 { get; set; }

    }

    public class Address

    {

        [XmlElement("Adrs")]

        public string [] Adrs1 { get; set; }

    }

具体操作

string path = HttpContext.Current.Server.MapPath("~/Config/User.config");

        //反序列化加载xml文件到对象

        protected void Page_Load(object sender, EventArgs e)

        {

            XmlSerializer xs = new XmlSerializer(typeof(User));

            FileStream fs = new FileStream(path, FileMode.Open);

            User user = (User)xs.Deserialize(fs);

            Response.Write(user.Address1.Adrs1[0]);

            fs.Close();

        }

        //序列化对象到xml(修改xml)

        protected void btnUpdata_Click(object sender, EventArgs e)

        {

            User user = new User() { Name = "issac", Age = 25};

            FileStream fs = new FileStream(path, FileMode.Open);

            XmlSerializer xs = new XmlSerializer(typeof(User));

            xs.Serialize(fs, user);

            fs.Close();

        }

你可能感兴趣的:(Serialize)