C#导出List数据到xml文件[附源码]

来源:互联网 发布:统计图用什么软件 编辑:程序博客网 时间:2024/05/16 13:51
C#导出List数据到xml文件,这里主要用到的是:

XmlSerializer 类 (System.Xml.Serialization)

将对象序列化到 XML 文档中和从 XML 文档中反序列化对象。XmlSerializer 使您得以控制如何将对象编码到 XML 中。


实体类代码:

/// <summary>    /// 用户实体类    ///     /// 注意:类的访问修饰符必须是:public,否则会出现错误:    /// 因其保护级别而不可访问。只能处理公共类型。    /// </summary>    [Serializable]    public class UserModel    {        private long id = 1;        private string name = "name";        private int gender = 0;        private int age = 20;        private string userName = "userName";        private string password = "password";        public long Id        {            get { return id; }            set { id = value; }        }        public string Name        {            get { return name; }            set { name = value; }        }        public int Gender        {            get { return gender; }            set { gender = value; }        }        public int Age        {            get { return age; }            set { age = value; }        }        public string UserName        {            get { return userName; }            set { userName = value; }        }        public string Password        {            get { return password; }            set { password = value; }        }    }
导出代码:

        private void button1_Click(object sender, EventArgs e)        {            try            {                List<UserModel> list = new List<UserModel>();                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                list.Add(new UserModel());                using (System.IO.StringWriter stringWriter = new StringWriter(new StringBuilder()))                {                    XmlSerializer xmlSerializer = new XmlSerializer(typeof(List<UserModel>));                    xmlSerializer.Serialize(stringWriter, list);                    FileStream fs = new FileStream("list_userModel.xml", FileMode.OpenOrCreate);                    StreamWriter sw = new StreamWriter(fs);                    sw.Write(stringWriter.ToString());                    sw.Close();                    fs.Close();                    MessageBox.Show("写入文件成功!");                }            }            catch (System.Exception ex)            {                System.Console.WriteLine("====================================");                System.Console.WriteLine(ex.Message);                System.Console.WriteLine(ex.StackTrace);            }        }
生成的XML文件内容:

<?xml version="1.0" encoding="utf-16"?><ArrayOfUserModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel>  <UserModel>    <Id>1</Id>    <Name>name</Name>    <Gender>0</Gender>    <Age>20</Age>    <UserName>userName</UserName>    <Password>password</Password>  </UserModel></ArrayOfUserModel>
源码下载:

CSharp导出List数据到xml文件

4 0
原创粉丝点击