Home  >  Article  >  Backend Development  >  C# source code sharing for exporting List data to xml file

C# source code sharing for exporting List data to xml file

黄舟
黄舟Original
2017-03-11 13:35:292295browse

C# Export List data to xml file, the main ones used here are:

XmlSerializer Class (System.Xml.Serialization)

Convert the object Serialize to and deserialize objects from XML documents. XmlSerializer Gives you control over how objects are encoded into XML.


Entity class code:

/// <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; }
        }
    }

Export code:

        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);
            }
        }

Generated XML file content:

<?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>

The above is the detailed content of C# source code sharing for exporting List data to xml file. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn