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 中。
实体类代码:
/// <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#程序设计有所帮助。


猜你喜欢
- java:使用匿名类直接new接口java中的匿名类有一个倍儿神奇的用法,见下面代码示例:package contract;public i
- —学习并使用mybatis-plus的一些高级功能的用法例如: AR模式、 乐观锁 、逻辑删除 、自动填充、数据保护等功能为了方便演示,咱们
- 这篇文章主要介绍了如何使用Spring工具类动态匹配url,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- springBoot集成Elasticsearch 报错 Health check failed今天集成Elasticsearch 时启动报
- 前言本文将介绍通过Java编程在PDF文档中添加表格的方法。添加表格时,可设置表格边框、单元格对齐方式、单元格背景色、单元格合并、插入图片、
- 一、Optional类的来源到目前为止,臭名昭著的空指针异常是导致Java应用程序失败的最常见原因。以前,为了解决空指针异常,Google公
- 本文实例为大家分享了Unity实现仿3D轮转图效果的具体代码,供大家参考,具体内容如下一、效果演示二、实现思路—&
- 数据的类型介绍类型的基本归类在写数据类型的介绍之前,我们首先来简单介绍下 release版本与debug版本之间的在内存上的区别:我们先将下
- 由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告&
- 最近在看进程间的通信,看到了fork()函数,虽然以前用过,这次经过思考加深了理解。现总结如下:1.函数本身(1)头文件#include&l
- 一、前言让我们先理一下springfox与swagger的关系。swagger是一个流行的API开发框架,这个框架以“开放API声明”(Op
- Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入
- poi解析Excel文件版本问题解决办法poi解析Excel文件时有两种格式: HSSFWorkbook格式用来解析Excel2003(xl
- Java中Collections.sort()的使用在日常开发中,很多时候都需要对一些数据进行排序的操作。然而那些数据一般都是放在一个集合中
- 前言:在java的网络通信中,两个不同节点的主机想要进行通信则可以通过建立Socket对象(相当于客户端主机,向服务端请求发送信息)和Ser
- 本文实例讲述了C#将HashTable中键列表或值列表复制到一维数组的方法。分享给大家供大家参考。具体如下:下面的示例说明如何将 Hasht
- 本文实例讲述了C#中WPF使用多线程调用窗体组件的方法。分享给大家供大家参考。具体如下:Thread thread=new Thread(n
- 首先给出一段代码:public class AslistMethod { public static void main(String[]
- 现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用。验证码实际上就是随机选择一些字符
- 首先说一下,教科书上的扫描线算法确实是用c++很好实现,而且网上有很多源码,而java实现的基本没有(可能是我没看到),所以肖先生还是打算自