首页 > 开发 > XML > 正文

如何把DataSet保存为XML文件

2024-09-05 20:55:51
字体:
来源:转载
供稿:网友
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文件变的如此简单,我希望你能相信这一点!

菜鸟学堂:
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表