把DataSet保存为XML文件 [[是VB的,转换成C#的即可生成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.ConfigurationPublic 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 SubEnd Class
[[是VB的,转换成C#的即可生成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.ConfigurationPublic 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 SubEnd Class