将数据从数据集写入到XML中

    在.NET环境中,XML是数据交换的基本格式。实际上,XML技术是ADO.NET的

主要基石。数据集在内部以XML格式存储数据,并且拥有读写XML的很多方法。
    例如:
    1、使用System.Data.DataSet的ReadXmlSchema和WriteXmlSchema方法,
       可以把数据集的结构导入和导出为XML模式
    2、可以使用ReadXml()和WriteXml()方法分别读取数据集中的数据(和模式)、
       写入XML文件。与另一应用程序交换数据或者制作数据集的本地副本时,
       这种操作非常有用。
    3、可以把数据集绑定到XML文档(System.Xml.XmlDataDocument的实例上)。
       数据集和数据文档是同步的,所以可以使用ADO.NET或XML操作修改它。
 
// 将数据从数据集写入到XML中
// WriteXml.cs
using System;
using System.Data;
using System.Data.SqlClient;
namespace Ch13
{
    class WriteXml
    {
        static void Main( string[] args)
        {
            string strConn = "server=.\\MSSQL2012;integrated security=true;database=Northwind;";                       
            string sql = "select * from employees" ;
            string datafile = ". \\data.xml" ;
            string schema = ". \\schema.xml" ;
            SqlConnection conn = new SqlConnection(strConn);
            try
            {
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = new SqlCommand(sql, conn);
                conn.Open();
                DataSet ds = new DataSet();
                da.Fill(ds, "emp" );
                ds.WriteXml(datafile);
                Console.WriteLine( "数据被写入到文件" + datafile + ",其内容并不会在屏幕上显示" );
 
                ds.WriteXmlSchema(schema);
                Console.WriteLine( "模式被写入到文件" + schema);
 
                DataSet xmlds = new DataSet();
                xmlds.ReadXml(datafile);
                DataTable dt = xmlds.Tables[0];
                Console.WriteLine( "从文件{0}中读取到了{1}条记录" ,datafile, dt.Rows.Count);
                Console.WriteLine( "www.haogongju.net 很无耻的窃取了博客园的文章" );
            }
            catch ( Exception ex)
            {
                Console.WriteLine( "发生错误:" + ex);
            }
            finally
            {
                conn.Close();
                Console.ReadLine();
            }
        }
    }
}
------------------------
数据被写入到文件.\data.xml,其内容并不会在屏幕上显示
模式被写入到文件.\schema.xml
从文件.\data.xml中读取到了9条记录
www.haogongju.net 很无耻的窃取博客园的文章



来自为知笔记(Wiz)



posted on 2013-08-23 02:06  伊利丹  阅读(697)  评论(0)    收藏  举报