xml逐渐成为现今数据交换的一种标准格式,所以我们也要了解asp.net 如何汇出与读取xml檔。xml 档的汇出与读取主要是透过dataset 对象的writexml 以及readxml 方法,不过要执行档案的读写动作必需使用filestream 对象来进行档案的操作,这个档案的名称地址为system.io。
档案操作
要将xml 汇出成档案要利用filestream 对象开启档案。filestream 的使用语法如下所示:
dim 变数as filestream
变数=new filestream(文件名称, filemode, fileaccess)
其中filemode 的参数如下表所示:


其中fileaccess 的参数如下表所示:

xml 档案的汇出
下列范例在使用者按下「汇出xml」后,将第八章的会员数据表汇出成xml 格式:
<%@import namespace="system.io"%>
<%@import namespace="system.data"%>
<%@import namespace="system.data.ado"%>
<form id="form1" runat="server">
<asp:button id="btnoutport" text="汇出xml"
onclick="btnoutport_click"
runat="server"/>
<asp:label id="label1" runat="server"/>
</form>
<script language="vb" runat="server">
sub btnoutport_click(sender as object,e as eventargs)
label1.text="汇出中..."
dim dsca as adodatasetcommand=new adodatasetcommand("select * from
members", _
"provider=microsoft.jet.oledb.4.0;data
source=c:\inetpub\wwwroot\cr\ch08\myweb.mdb")
dim dsdataset as dataset=new dataset
dsca.filldataset(dsdataset,"members")
dim fsa as filestream=new filestream(server.mappath("members.xml"), _
filemode.openorcreate,
fileaccess.write)
dsdataset.writexml(fsa)
fsa.close()
label1.text="汇出完毕"
end sub
</script>
</html>
上述范例首先我们先将members 数据表填入dataset 对象中,然后再宣告一个filestream 对
象并指明要在网页所在路径开启members.xml 档,如果有这个档案则开启否则就产生,而且这
个档案是唯写。档案已经开启完成后,我们就可以利用dataset 的writexml 方法将xml 格式
的数据写入档案中,最后将filestream 对象利用close 方法关闭即可。所汇出的xml 档如下图
所示:

xml 档案的读取
下列范例在使用者按下「汇入xml」后,将刚刚所汇出的xml档案利用dataset 对象的readxml
方法汇入:
<%@import namespace="system.io"%>
<%@import namespace="system.data"%>
<form id="form1" runat="server">
<asp:button id="btnoutport" text="汇入xml"
onclick="btnoutport_click"
runat="server"/>
<asp:label id="label1" runat="server"/>
<asp:datagrid id="dga" runat="server"/>
</form>
<script language="vb" runat="server">
dim dsdataset as dataset=new dataset
sub btnoutport_click(sender as object,e as eventargs)
label1.text="汇入中..."
dim fsa as filestream=new filestream(server.mappath("members.xml"), _
filemode.open,
fileaccess.read)
dsdataset.readxml(fsa)
fsa.close()
dga.datasource=dsdataset.tables("members").defaultview
dga.databind()
label1.text="汇入完毕"
end sub
</script>
</html>
上述范例首先我们宣告一个filestream 对象并指明要在网页所在路径开启members.xml 档,而且这个档案是惟读。档案已经开启完成后,我们就可以利用dataset 的readxml 方法将xml格式的数据读入dataset 对象中,最后将filestream 对象利用close 方法关闭即可。所入出的xml 资料如下图所示:
