Rumah  >  Artikel  >  pembangunan bahagian belakang  >  C#导出List数据到xml文件的源码分享

C#导出List数据到xml文件的源码分享

黄舟
黄舟asal
2017-03-11 13:35:292345semak imbas

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>

Atas ialah kandungan terperinci C#导出List数据到xml文件的源码分享. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn