對于小數(shù)據(jù)量,xml文件在檢索更新上于ACCESS有很多優(yōu)勢。
我曾經(jīng)測試過不用數(shù)據(jù)庫,把網(wǎng)站的會員信息,商品數(shù)據(jù)信息,交易信息,網(wǎng)站定制信息全部存放在三個(gè)xml文件中,運(yùn)行結(jié)果十分正常,感覺上比數(shù)據(jù)庫快多了,不過沒有作測試,不能確定。(http://stone.yesku.net)
下面說一下創(chuàng)建,查詢,修改等對xml操作的主要方法
‘創(chuàng)建DOM對象
set objDom=server.CreateObject("MicroSoft.XMLDom")
‘取得xml數(shù)據(jù)
‘方法1 取得xml文件的xml數(shù)據(jù)
objDom.load("c:\test.xml")
‘方法2 取得xml數(shù)據(jù)串的數(shù)據(jù)
objDom.loadxml("<people><man name="sd"/></people>")
‘創(chuàng)建一個(gè)節(jié)點(diǎn)對象
Set Newnode=objDom.CreateElement("people")
‘給這個(gè)節(jié)點(diǎn)赴值
Newnode.Text="人"
‘ 給這個(gè)節(jié)點(diǎn)添加屬性
Set NewAttribute=objDom.CreateNode("attribute","name","")
NewAttribute.Text= "張三"
Newnode.SetAttributeNode NewAttribute
‘給這個(gè)節(jié)點(diǎn)添加子節(jié)點(diǎn)
Set NewnodeChild=objDom.CreateElement("address")
Newnode.appendChild NewnodeChild
‘保存這個(gè)節(jié)點(diǎn)對象
objDom.appendChild Newnode
objDom.save("c:\test.xml")
‘查找一個(gè)節(jié)點(diǎn)對象
set objtofind=objdom.documentElement.SelectSingleNode("http://people/man")
‘取出這個(gè)節(jié)點(diǎn)對象的 節(jié)點(diǎn)名,節(jié)點(diǎn)值,某個(gè)屬性值,和全部的xml
nodename=objtofind.nodename
nodevalue=objtofind.text
objtofind.GetAttributeNode("name").NodeValue ‘屬性名為name的屬性值
‘取出一個(gè)屬性節(jié)點(diǎn)對象
set objattrtofind=objdom.documentElement.SelectSingleNode("http://people/man"). GetAttributeNode("name")
‘取出這個(gè)節(jié)點(diǎn)的屬性名,屬性值
nodeattrname=objattrtofind.nodename
nodeattrvalue=objattrtofind.nodevalue
‘刪除一個(gè)節(jié)點(diǎn)對象
set objnode=objdom.documentElement.SelectSingleNode("http://people/man") ‘要?jiǎng)h除的節(jié)點(diǎn)
set objparentnode=objdom.documentElement.SelectSingleNode("http://people") ‘要?jiǎng)h除的節(jié)點(diǎn)的父節(jié)點(diǎn)
objparentnode.removeChild objnode
‘取出一個(gè)節(jié)點(diǎn)的字節(jié)點(diǎn)集合
set objnodes=objdom.documentElement.SelectSingleNode("http://people/man").ChildNodes
遍歷這個(gè)集合
方法1
for each element in objnodes
response.write element.nodename 字節(jié)點(diǎn)名
response.write element.text 字節(jié)點(diǎn)值
next
方法2
domlength=objnodes.length
for i = 0 to domlength-1
response.write objnodes.childnodes(i).nodename 字節(jié)點(diǎn)名
response.write objnodes.childnodes(i).text 字節(jié)點(diǎn)值
next
‘取出一個(gè)節(jié)點(diǎn)的屬性集合
set objnodes=objdom.documentElement.SelectSingleNode("http://people/man").GetAttributeNode("name").attributes
遍歷這個(gè)集合
for each element in objnodes
response.write element.nodename 屬性名
response.write element.nodevalue 屬性值
next
等能夠熟練的運(yùn)用xmldom對象來操作xml文件了,就可以享受xmlhttp對象來實(shí)現(xiàn)asp下的許多功能了。