C#实现导出List数据到xml文件的方法【附demo源码下载】
作者:微wx笑 时间:2022-02-13 10:32:14
本文实例讲述了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#,List,xml
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java过滤器模式原理及用法实例
2023-03-07 12:15:07
![](https://img.aspxhome.com/file/2023/3/93353_0s.png)
MyBatis-Plus工具使用之EntityWrapper解析
2021-10-09 06:13:48
JavaSE中compare、compareTo的区别
2021-12-28 09:37:47
![](https://img.aspxhome.com/file/2023/4/77134_0s.png)
Android 打开相册选择单张图片实现代码
2023-05-29 17:06:38
TCP协议详解_动力节点Java学院整理
2022-09-22 07:55:14
![](https://img.aspxhome.com/file/2023/3/98233_0s.jpg)
Android如何通过手机自动获取短信验证码
2022-12-10 00:19:47
![](https://img.aspxhome.com/file/2023/6/106816_0s.png)
解决Properties属性文件中的值有等号和换行的小问题
2023-09-07 19:22:58
Spring MVC处理方法返回值过程解析
2022-11-05 23:47:14
Java中如何避免sql注入实例详解
2022-08-24 14:42:06
c# 单例模式的实现
2023-06-12 01:16:44
![](https://img.aspxhome.com/file/2023/4/80124_0s.png)
C#实现XML与实体类之间相互转换的方法(序列化与反序列化)
2022-05-14 03:39:32
浅谈Maven镜像更换为阿里云中央仓库(精)
2022-08-06 04:48:17
MyBatis字段名和属性名不一致的解决方法
2022-12-15 18:15:22
详解Mybatis中常用的约束文件
2023-11-28 08:02:17
Java8生成时间方式及格式化时间的方法实例
2021-07-28 19:58:52
java之路径分隔符介绍
2022-12-14 22:35:23
Java编程中ArrayList源码分析
2023-05-20 00:05:25
spring与disruptor集成的简单示例
2021-12-16 11:01:41
详解SpringCloud服务认证(JWT)
2023-11-14 11:19:43
![](https://img.aspxhome.com/file/2023/6/70916_0s.png)
java 中 System.out.println()和System.out.write()的区别
2021-09-17 04:30:52