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>

源码下载:

时间: 2024-10-11 22:15:38

C#导出List数据到xml文件[附源码]的相关文章

POI导出大量数据的简单解决方案(附源码)-Java-POI导出大量数据,导出Excel文件,压缩ZIP(转载自iteye.com)

说明:我的电脑 2.0CPU 2G内存 能够十秒钟导出 20W 条数据 ,12.8M的excel内容压缩后2.68M 我们知道在POI导出Excel时,数据量大了,很容易导致内存溢出.由于Excel 一个sheet允许的最大行数是65536这时我们想到分sheet进行导出:但是这种情况也不能解决内存溢出的问题.毕竟数据还是一次性在内存中进行保存的.这时我们想是不是可以导出多个excel呢?下面我就尝试着按照导出多个excel 首先:我们要确定数据量有多大,然后确定一个excel导出多少条数据,这

开源数据引擎-介绍(附源码)

NetUML.DataEngine 数据引擎支持多数据库,数据访问引擎采用配置方式,类似ibatis.net底层原理,支持多数据库连接方式.将来可支持数据库读写分离,读写分离配置采用MVC路由机制. 源码结构 一.配置介绍 providers.config 配置文件名称,只需把它放在程序的根目录下即可. 1 <provider name="oracleManagedDataAccess" 2 description="Oracle, Microsoft provider

ICSharpCode.SharpZipLi 压缩、解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式 我们需要dll 在官网上也有,也可以从百度网盘下载 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件.文件夹的压缩和解压 先给大家看一下效果: 一.引入ICSharpCode.SharpZipLib 我们新建个帮助类 ZipHelper.cs  然后 添

ICSharpCode.SharpZipLib 压缩、解压文件 附源码

http://www.icsharpcode.net/opensource/sharpziplib/ 有SharpZiplib的最新版本,本文使用的版本为0.86.0.518,支持Zip, GZip, BZip2 和Tar格式 我们需要dll 在官网上也有,也可以从百度网盘下载 好了,深入的大家还要多多研究,今天我们简单介绍一下 简单的 单文件.文件夹的压缩和解压 先给大家看一下效果: 一.引入ICSharpCode.SharpZipLib 我们新建个帮助类 ZipHelper.cs  然后 添

leaflet 结合 d3.js 实现 geojson 数据地形剖面分析(附源码下载)

前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet 的插件库,非常有用 内容概览 leaflet 实现地形剖面分析源代码 demo 下载 本篇 demo 利用 leaflet api 实现地形剖面分析,效果图如下: 完整demo源码见小专栏文章尾部:GIS之家leaflet小专栏 文章尾部提供源代码下载,对本专栏感兴趣的话,可以关注一波 原文地址:h

PHP导出MySQL数据到Excel文件

PHP导出MySQL数据到Excel文件 转载 常会碰到需要从数据库中导出数据到Excel文件,用一些开源的类库,比如PHPExcel,确实比较容易实现,但对大量数据的支持很不好,很容易到达PHP内存使用上限.这里的方法是利用fputcsv写CSV文件的方法,直接向浏览器输出Excel文件. ? 1 <br><!--?php// 输出Excel文件头,可把user.csv换成你要的文件名header('Content-Type: application/vnd.ms-excel');he

php添加数据到xml文件的例子

php添加数据到xml文件中 时间:2015-12-17 06:30:37来源:网络 导读:php添加数据到xml文件中 xml文件:stu.xml: 复制代码代码如下: <?xml version="1.0" encoding="utf-8" ?><AllData><xueshengmen><xuesheng>  <name>张三</name>  <yuwen>80</yuw

极限挑战—C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码)

原文:极限挑战-C#100万条数据导入SQL SERVER数据库仅用4秒 (附源码) 实际工作中有时候需要把大量数据导入数据库,然后用于各种程序计算,本实验将使用5中方法完成这个过程,并详细记录各种方法所耗费的时间. 本实验中所用到工具为VS2008和SQL SERVER 2000.SQL SERVER 2008,分别使用5中方法将100万条数据导入SQL 2000与SQL 2008中,实验环境是DELL 2850双2.0GCPU,2G内存的服务器.感兴趣的朋友可以下载源代码自己验证一下所用时间

Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)

http://www.cnblogs.com/gossip/p/3473024.html Asp.net实现直接在浏览器预览Word.Excel.PDF.Txt文件(附源码) 功能说明 输入文件路径,在浏览器输出文件预览信息,经测试360极速(Chrome).IE9/10.Firefox通过 分类文件及代码说明  DemoFiles 存放可测试文件 Default.aspx  启动页 ExcelPreview.cs  Excel预览类 public static void Priview(Sys