
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" %>
datasettoxml
done!
实际上,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文档变的如此简单,我希望您能相信这一点!
|