软件编程
位置:首页>> 软件编程>> C#编程>> C#实现导出List数据到xml文件的方法【附demo源码下载】

C#实现导出List数据到xml文件的方法【附demo源码下载】

作者:微wx笑  发布时间:2022-02-13 10:32:14 

标签:C#,List,xml

本文实例讲述了C#实现导出List数据到xml文件的方法。分享给大家供大家参考,具体如下:

C#导出List数据到xml文件,这里主要用到的是:

XmlSerializer 类 (System.Xml.Serialization)

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

C#实现导出List数据到xml文件的方法【附demo源码下载】

实体类代码:


/// <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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com