C#導出List資料到xml檔案的源碼分享

黄舟
發布: 2017-03-11 13:35:29
原創
2331 人瀏覽過

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>
登入後複製

以上是C#導出List資料到xml檔案的源碼分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!