本文實例講述了C#實現導出List數據到xml文件的方法。分享給大家供大家參考,具體如下:
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#相關內容感興趣的讀者可查看本站專題:《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《C#程序設計之線程使用技巧總結》、《C#操作Excel技巧總結》、《WinForm控件用法總結》、《C#數據結構與算法教程》、《C#數組操作技巧總結》及《C#面向對象程序設計入門教程》
希望本文所述對大家C#程序設計有所幫助。
新聞熱點
疑難解答