程序说明
下面的程序访问XML文件students.xml,并将其数据写入数据库ST的students表中。为了使程序尽量简洁,假设空表students已存在于数据库ST中。程序的实现步骤如下:
1.连接数据库ST,打开表students,创建Recordset对象
Set conn=server.CreateObject("ADODB
.connection")
conn.Open "dsn=st;uid=sa;pwd=;database=st"
Set myrecord=server.createobject("ADODB
.Recordset")
myrecord.open "students",conn,1,3
2. 创建DOM的实例oXMLDOM
set oXMLDOM=server.CreateObject ("Microsoft.XMLDOM")
3. 载入XML文件students.xml
oXMLDOM.load("d:\students.xml")
4. 使用DOM的getElementsByTagName()方法创建所有student元素的节点清单
set recordlist=oXMLDOM.getElementsByTag-
Name("student")
5.使用一个双重循环将XML文件中的数据读出,写入数据库表中
’用外循环遍历各student
for i=0 to recordlist.length-1
’用内循环取得每个student的各节点的值,存入数组sp
for j=0 to recordlist.item(i).childnodes
.length-1
sp(j)= recordlist.item(i).childnodes
.item(j).text
next
’在表students中增加一条记录,并将数组sp的值写入各字段(注意数据类型的转变)
myrecord.AddNew
myrecord("name").value=sp(1)
myrecord("birthday").value=cdate(sp(3))
myrecord("score").value=cint(sp(4))
myrecord.Update
next
6.关闭所创建的实例与对象
set oxmldom=nothing
set recordlist=nothing
myrecord.Close
Set myrecord=nothing
小结
通过本文,我们可以看到XML和数据库具有很紧密的联系,ASP在连接XML和数据库之间起到重要的作用,可以使用XML作为不同数据存储之间的中介,也可以使用XML本身作为一种数据存储方式。