`
LiuXiaoYong
  • 浏览: 31172 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

C#/.NET数据存储到XML

    博客分类:
  • .NET
阅读更多
    有时候,在存储数据的时候要求存储成XML格式,我们用代码一行一行写的话比较繁琐,我们可以先把数据放到IList中,然后把IList中的数据放到DataSet中,DataSet有个方法WriteXml()把DataSet中的数据存储到XML中,看下面代码:

存储到xml:
internal void Save()
        {
            System.Data.DataSet ds = ChangeToDataSet(IList);

            ds.ReadXmlSchema(getStrByResFileName("PosLog.xsd")); //格式,这步可以不要
            string path = "要存的路径";
            ds.WriteXml(path);
        }

//IList转化为DataSet:
private System.Data.DataSet ChangeToDataSet(IList list)
        {
            System.Data.DataSet ds = new System.Data.DataSet();
            System.Data.DataTable table = new System.Data.DataTable("CouponInfo");
            ds.Tables.Add(table);
            table.Columns.Add("ID", typeof(Guid));
            table.Columns.Add("PromotionID", typeof(string));
            table.Columns.Add("Header", typeof(string));
            table.Columns.Add("Discription", typeof(string));
            table.Columns.Add("ExtraPrintInfo", typeof(string));
            table.Columns.Add("Piclist", typeof(string));
            table.Columns.Add("ExpiryDate", typeof(DateTime));
            table.Columns.Add("Template", typeof(string));
            table.Columns.Add("Barcode", typeof(string));

            foreach (CouponInfo cp in list)
            {
                System.Data.DataRow row = table.NewRow();
                row[0] = cp.ID;
                row[1] = cp.PromotionID;
                row[2] = cp.Header;
                row[3] = cp.Discription;
                row[4] = cp.ExtraPrintInfo;
                row[5] = cp.Piclist;
                row[6] = cp.ExpiryDate;
                row[7] = cp.Template;
                row[8] = cp.Barcode;
                ds.Tables["CouponInfo"].Rows.Add(row);
            }
            return ds;
        }



读取XML:

internal void Fatch()
        {
            System.Data.DataSet ds = new System.Data.DataSet();

            ds.ReadXml(AppDomain.CurrentDomain.BaseDirectory + "CouponList.xml");
            SetCuoponList(ds);
         }

private void SetCuoponList(System.Data.DataSet ds)
        {
            if (ds.Tables.Count != 0)
            {
                foreach (System.Data.DataRow row in ds.Tables[0].Rows)
                {
                    CouponInfo coupon = new CouponInfo();
                    coupon.SetID(new Guid(row["ID"].ToString()));
                    coupon.PromotionID = row["PromotionID"].ToString();
                    coupon.Header = row["Header"].ToString();
                    coupon.Discription = row["Discription"].ToString();
                    coupon.ExtraPrintInfo = row["ExtraPrintInfo"].ToString();
                    coupon.Piclist = row["Piclist"].ToString();
                    coupon.ExpiryDate = DateTime.Parse(row["ExpiryDate"].ToString());
                    coupon.Template = row["Template"].ToString();
                    coupon.Barcode = row["Barcode"].ToString();
                    this.InnerList.Add(coupon);
                }
            }
            else
            {
                //throw new Exception("CouponList File is Empty");
            }
        }
分享到:
评论

相关推荐

    C#/.NET对数据库操作大全

    Database、Linq操作DataSet、Linq操作SQL、Linq操作Xml、Linq操作数组集合、触发器SQL文件、读取数据库表结构、二进制存取图片、交叉表、数据库管理、通过存储过程管理信息、通过视图修改信息、通用数据库连接等...

    C# ASP.NET 模块 - 基于XML存储的论坛模块

    本论坛模块主要是基于XML技术的在线论坛,其主要关键技术就是如何操作XML数据库中的数据

    xml个人论坛源码(c# asp.net)

    系统使用Asp.net技术,以Xml文件存储数据,结合使用xslt技术生成静态html页面。代码采用分层架构,易于阅读理解,又使用片段缓存加数据缓存以提高性能,应该对初学者有所帮助

    ORM框架-VB/C#.Net实体代码生成工具(EntitysCodeGenerate)ECG4.3.pdf

    摘要:VB/C#.Net实体代码生成工具(EntitysCodeGenerate)【ECG】是一款专门为.Net数据库程序开发量身定做的(ORM框架)代码生成工具,所生成的程序代码基于面向对象、分层架构、ORM及反射+工厂设计模式等。支持.Net1.1...

    Visual C#.NET技术内幕(修订版)源码

    部分着重 介绍.net框架所使用的数据访问、存储技术ado.net以及xml的有关内容; 第?部分则着重介绍了使用visual c# .net创建可用于web的应用程序的方 法和相关技术,介绍了soap和web服务。 本书适合...

    中美 IT 培训 C# Asp.net 笔记3

    精通C#.Net、ASP.Net、ADO.Net、AJAX、WEB2.0、XML、JavaScript、SQL Server 2000、Web Service、WSE2.0、.Net Remoting、MultiThread Programming、Socket Programming、Windows Service、Data Structure、 ...

    基于XML技术的在线论坛

    基于XML技术的在线论坛 .net c#

    C#在线论坛模块设计

    C#在线论坛模块设计 源代码 直接编译运行

    asp.net c# XML简单新闻发布系统

    这个项目主要用XML来存储、读取新闻,没用过XML的可以来看看,

    C#.net常用函数和方法集

    C#.net常用函数和方法集 1 用C#.net轻松制作不规则窗体 4 VisualC#制作可伸缩个性化窗体 8 如何用C#实现漂亮的动态图像按钮 16 C#中将Big5繁体转换简体GB2312的代码 20 利用VS.NET创建C#Windows服务 21 c#线程 23 ...

    中美 IT 培训 C# Asp.net 全套笔记1

    精通C#.Net、ASP.Net、ADO.Net、AJAX、WEB2.0、XML、JavaScript、SQL Server 2000、Web Service、WSE2.0、.Net Remoting、MultiThread Programming、Socket Programming、Windows Service、Data Structure、 ...

    中美 IT 培训 C# Asp.net 笔记2

    精通C#.Net、ASP.Net、ADO.Net、AJAX、WEB2.0、XML、JavaScript、SQL Server 2000、Web Service、WSE2.0、.Net Remoting、MultiThread Programming、Socket Programming、Windows Service、Data Structure、 ...

    C#(.net) Excel、TXT、xml、http数据流读写交换

    个人整理的一些数据流读写存储,包括Excel TXT xml http,希望有用。

    Visual C# .NET技术内幕 源代码 RAR格式

    第11部分讲述了Visual C#.NET的高级应用,介绍与过去的编程语言相比的独到之处:第111部分介绍了Windows窗体设计,详细地讲述了Windows窗体的用法,以及它对应用程序编写过程的简化:第IV部分着重介绍.NET框架所...

    BeginningCSharpAndDotNET:开始C#和.NET

    在此存储库中找到的代码和描述适用于C#和.NET。 除了.NET之外,您不需要任何其他内容即可了解相关书籍的内容,但是许多示例都需要开发工具。 使用Visual Studio社区作为其主要开发工具来编写此处存储的代码。 使用...

    C#.net_经典编程例子400个

    68 实例059 在ListBox控件间交换数据 68 实例060 将数据库数据添加到组合框中 70 实例061 借助绑定控件实现数据选择录入 71 实例062 ListBox拒绝添加重复信息 72 2.6 选择类控件应用 73...

    C#XML入门经典 C#编程人员必备的XML技能.part2

    在C#中使用XML的原因 <br>1.1 使用XML的原因 1.1.1 开放性 1.1.2 简单性 1.1.3 自我描述性 1.1.4 互操作性 1.1.5 结构 1.1.6 分开结构和内容 1.1.7 可扩展性 1.2 什么是XML 1.2.1 XML...

    C#(ASP.NET)相关技术

    网站采用.net 2.0技术 ---------------------------包含内容: webconfig操作 XML操作(添删改查) 登陆模式(简单应用) 分页、排序 PagedDataSource分页 简单使用AspNetPager分页控件 存储过程分页 js分页插件...

    C#入门经典第三版(第04部分,共分12个部分)

    第4篇是数据访问:介绍在应用程序中如何使用数据,包括存储在硬盘文件上的数据、以XML格式存储的数据和数据库中的数据。第5篇是其他技术:讲述使用C#和.NET Framework的一些额外方式,包括程序集、属性、XML文档、...

Global site tag (gtag.js) - Google Analytics