如何把DataSet保存为XML文件

xml

XML和.NET是完全融合的,很多.NET的服务器控件都具备了一种或更多种创建XML文件的能力,DataSet类就包含若干种创建XML文件的方法,在这篇文章中,我们将创建DataSet与XML之间的连接的例子,而这个例子的作用就是从数据库里读出数据填入DataSet对象中,然后再从DataSet对象输出为XML文件保存到磁盘里,当然了 ,我们还可以为XML文件创建与它相关的schema文件。
   把DataSet保存为XML文件中的asp.net页面文件(.aspx),简单的甚至可以用可笑来形容了,实质上,它根本没有包含一句关键性的代码,我们需要做的仅仅是添加一句提示信息--“完成”,而真正体现功能的代码是在Code-Behind的后置代码文件中,下面是asp.net web页面(.aspx):
<%@ Page Language="vb" Src="DataSetToXML.aspx.vb" Inherits="DataSetToXML" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>DataSetToXML</title>
<meta name="GENERATOR" content="Microsoft Visual Studio.NET 7.0">
<meta name="CODE_LANGUAGE" content="Visual Basic 7.0">
<meta name=vs_defaultClientScript content="JavaScript">
<meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
</form>
<h3>Done!</h3>
</body>
</html>
    实际上,Code-Behind后置文件也不是很复杂,它的大多数代码都是我们很熟悉的了,如使用DataAdapter对象来填充DataSet对象,为了使XML不会变的很大,我们把从Northwind数据的Customers表中查询数据的SQL的select语句加上了top 10,真正有作用的代码只有两行,一行用来把DataSet输出为XML文件,另一行创建它的Schema文件,在文章我把它标记为红色,在这个例子中,我们使用了DataSet类的两个方法:WriteXML和WriteXMLSchema,而Server.Mappath则是用来把两个文件写到web应用程序中的根目录下,这个两个文件将分别叫做“Customers.xml“和”Custmers.xsd“,代码如下:
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration
Public Class DataSetToXML : Inherits System.Web.UI.Page

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim objConn As SqlConnection
    Dim strSql As String

    strSql = "SELECT TOP 10 * FROM Customers"
    objConn = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))

    Dim sdaCust As New SqlDataAdapter(strSql, objConn)
    Dim dstCust As New DataSet()

    sdaCust.Fill(dstCust, "Customers")
    'Save data to xml file and schema file
    dstCust.WriteXML(Server.MapPath("Customers.xml"),XmlWriteMode.IgnoreSchema)
    dstCust.WriteXMLSchema(Server.MapPath("Customers.xsd"))
  End Sub

End Class 
   到此我为写了一篇那么简单的文章而深感歉意,但实际上,真正应该感到抱歉的应该是微软的.NET,是它让我们从数据表把数据转换为XML文件变的如此简单,我希望你能相信这一点!

时间: 2024-09-17 03:41:00

如何把DataSet保存为XML文件的相关文章

请教DATASET导出导入XML文件速度快,还是导入导出EXCEL文件效率快?

问题描述 对于一个最多有30万行数据的SQLSERVER表,请问以上哪种方式效率高? 解决方案 解决方案二:应该是直接从dataset保存为xml快解决方案三:导出的话.xml比较快吧.导入的话,30万条我想都会死的!如果是导入很大数据量的话,可以用bcp命令导入,可以参考我的blog,BCP导入大量数据http://www.cnblogs.com/mqcan/archive/2008/03/07/1095361.html解决方案四:30万条?估计EXCEL就要跑死了-呵呵--解决方案五:liu

JAVA对象序列化保存为XML文件的工具类

java对象|xml   今天看了看java.beans包,发现了两个好东西,XMLEncoder和XMLDecoder.发现自己以前把从XML存取对象真是太费力气啦.做了小工具类,以后可以用用了. package com.imct.util; import java.beans.XMLDecoder;import java.beans.XMLEncoder;import java.io.File;import java.io.FileInputStream;import java.io.Fil

100分求解 我郁闷啊为什么dataset 写的xml文件却无法读取呢???

问题描述 datasetread;read=get_dataset("select*fromuser")read.WriteXml(Server.MapPath("Findxml/xml.xml"));以上写成一个xml文件,没有问题(确实生成了这个文件,文件里的代码也没有问题)但是这里read.ReadXml(Server.MapPath("Findxml/xml.xml"));怎么就错了呢,提示我为将对象引用到实例请高手指点为什么会出现这个问

把dataset作为一个xml文件传给客户端

xml|客户端   把它直接放在内存中,然后传给客户端 // 创建MemeoryStreamSystem.IO.MemoryStream ms = new System.IO.MemoryStream(); // 写dataset到MemeoryStream dataset1.WriteXml(ms,System.Data.XmlWriteMode.IgnoreSchema); // 写dataset到MemeoryStream dataset1.WriteXml(ms,System.Data.

DataSet与Xml文件之间的转化

#region xml文件内容转化为DataSet         /// <summary>         /// xml文件内容转化为DataSet         /// </summary>         /// <param name="XmlFilePath"></param>         /// <returns></returns>         public static DataSet

XML基础之 DataSet加载XML数据文件

xml|加载|数据 在开发系统时,经常会有通过Code获取其Description,例如由错误号码获取错误信息. 这些错误信息可以存放到XML数据文件中,通过DataSet对象进行读取. 下面是读取的函数:   public string GetError(int ErrorId)  {   //在进行错误显示时,可以将错误号对应的文本描述放到一个XML   //文件中.这是支持多语言的一种通用方法.   //本示例从一个xml文件中取出数据,并获取指定ID号的错误描述.    string f

通过大型xml文件来提供数据服务

xml|数据 '我在设计这个类时,认为处理数据的最好方式还是dataset,而dataset可以从xml文件中打开.但dataset将xml打开时,要将全部文件读入到内存中,这种情况在单机上可以容忍,但是在服务器上就是一件非常龌龊的事情了,所以我设计了一个能够处理大型xml文件的类,它只返回指定的datatable,并且对内存的占用很小.我把它发布出来的目的就是希望做xml数据服务的朋友一起来优化. Public Class LargeXmlFile        Implements ILar

GridView&amp;DetailsView对XML文件增删改

xml XML文件:<?xml version="1.0" standalone="yes"?><XmlDataSet>  <UserInfo>    <Id>1</Id>    <Name>赵AX</Name>  </UserInfo>  <UserInfo>    <Id>2</Id>    <Name>钱BB</

asp.net下C#生成XML文件各种方法

XmlDocument保存文件  代码如下 复制代码 XmlDocument doc = new XmlDocument();             try             {                 doc.Load("new.xml");             }             catch             {                 XmlTextWriter xtw = new XmlTextWriter("new.xml&