亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

ASP XMLDom在服務器端操作XML文件的主要方法和實現

2024-05-04 11:08:37
字體:
來源:轉載
供稿:網友
我曾經測試過不用數據庫,把網站的會員信息,商品數據信息,交易信息,網站定制信息全部存放在三個xml文件中,運行結果十分正常,感覺上比數據庫快多了,不過沒有作測試,不能確定。
 
 
 
對于小數據量,xml文件在檢索更新上于ACCESS有很多優勢。 

我曾經測試過不用數據庫,把網站的會員信息,商品數據信息,交易信息,網站定制信息全部存放在三個xml文件中,運行結果十分正常,感覺上比數據庫快多了,不過沒有作測試,不能確定。 

下面說一下創建,查詢,修改等對xml操作的主要方法 

程序代碼 

NO.1--建立一個XML數據庫data.xml 
復制代碼代碼如下:

<?xml version="1.0"?> 
<records> 
<record> 
<name>caca</name> 
<qq>154222225</qq> 
<email>root@3ney.com</email> 
</record> 
<records> 

NO.2--建立對象CreateObject 
建立data.xml的對象先 
set xmldoc=server.createobjcet("microsoft.xmldom") 
xmldoc.load(server.mappath("data.xml") 

NO.3--選定節點SelectNode 
你想操作哪個Node,必須定位到這個節點是不是,先看看這個data.xml有幾個Node?? 
用一個遞歸函數搞定: 
復制代碼代碼如下:

getnodes(xmldoc) 

sub getnodes(node) 
dim i 
response.write("<br><b>NodeName:</b>"&node.nodename&"<br><b>NodeTypeString:</b>"&node.nodetypestring&"<br><b>NodeValue:</b>"&node.nodevalue&"<br><b>Text:</b>"&node.text&"<br><b>node.childnodes.length:</b>"&node.childnodes.length&"<p>") 

if node.childnodes.length<>0 then 
for i=0 to node.childnodes.length-1 
getnodes(node.childnodes(i)) 
next 
end if 
end sub 
用這個函數后,可以看到這個data.xml有10個Node 
這些Node可以很簡單的定位: 
xmldoc 
xmldoc.childnodes(0) 
xmldoc.childnodes(1) 
xmldoc.childnodes(1).childnodes(0) 
xmldoc.childnodes(1).childnodes(0).childnodes(0) 
xmldoc.childnodes(1).childnodes(0).childnodes(0).text 
xmldoc.childnodes(1).childnodes(0).childnodes(1) 
xmldoc.childnodes(1).childnodes(0).childnodes(1).text 
xmldoc.childnodes(1).childnodes(0).childnodes(2) 
xmldoc.childnodes(1).childnodes(0).childnodes(2).text 
是不是定位很簡單呀,還有個方法,比如定位<name> 
xmldoc.selectsinglenode("//name") 

NO.4--給節點賦值(修改節點的值) 
學會了定位節點,利用其屬性,就可以修改或者賦值了 
例如,把<name>的值caca改為wawa 
xmldoc.selectsinglenode("//name").text="wawa" 
xmldoc.save(server.mappath("data.xml")) 
搞定! 
NO.5--創建新的節點CreatenewNode 
用createelement或者createnode("","","") 
例如:在record下新建個<age>,只需要一句就搞定: 
xmldoc.selectsinglenode("//record").appendchild(xmldoc.createelement("<age>")) 
給<age>賦值 
xmldoc.selectsinglenode("//age").text="20" 
xmldoc.save(server.mappath("data.xml")) 
搞定! 
NO.6--刪除一個節點DeleteNode 
你必須明確你想刪除的這個節點的父節點,以及這個節點的特征 
例如:刪除<qq>節點 
xmldoc.selectsinglenode("//record").removechild(xmldoc.selectsinglenode("//qq")) 
例如:刪除那個<name>=caca的<record> 
xmldoc.selectsinglenode("//records").removechild(xmldoc.selectsinglenode("//record[name='caca'])) 
xmldoc.save(server.mappath("data.xml")) 
搞定! 
只有能熟練這6條code,用asp控制xml數據庫,也就差不多了... 
======================================================== 

'創建DOM對象 
set objDom=server.CreateObject("MicroSoft.XMLDom") 

'取得xml數據 
'方法1 取得xml文件的xml數據 
objDom.load("c:/test.xml") 
'方法2 取得xml數據串的數據 
objDom.loadxml("<people><man name="sd"/></people>") 

'創建一個節點對象 
Set Newnode=objDom.CreateElement("people") 
'給這個節點赴值 
Newnode.Text="人" 
' 給這個節點添加屬性 
Set NewAttribute=objDom.CreateNode("attribute","name","") 
NewAttribute.Text= "張三" 
Newnode.SetAttributeNode NewAttribute 
'給這個節點添加子節點 
Set NewnodeChild=objDom.CreateElement("address") 
Newnode.appendChild NewnodeChild 
'保存這個節點對象 
objDom.appendChild Newnode 
objDom.save("c:/test.xml") 

'查找一個節點對象 
set objtofind=objdom.documentElement.SelectSingleNode("//people/man") 
'取出這個節點對象的 節點名,節點值,某個屬性值,和全部的xml 
nodename=objtofind.nodename 
nodevalue=objtofind.text 
objtofind.GetAttributeNode("name").NodeValue '屬性名為name的屬性值 

'取出一個屬性節點對象 
set objattrtofind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name") 
'取出這個節點的屬性名,屬性值 
nodeattrname=objattrtofind.nodename 
nodeattrvalue=objattrtofind.nodevalue 

'刪除一個節點對象 
set objnode=objdom.documentElement.SelectSingleNode("//people/man") '要刪除的節點 
set objparentnode=objdom.documentElement.SelectSingleNode("//people") '要刪除的節點的父節點 
objparentnode.removeChild objnode 

'取出一個節點的字節點集合 
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").ChildNodes 
遍歷這個集合 
方法1 
for each element in objnodes 
response.write element.nodename 字節點名 
response.write element.text 字節點值 
next 
方法2 
domlength=objnodes.length 
for i = 0 to domlength-1 
response.write objnodes.childnodes(i).nodename 字節點名 
response.write objnodes.childnodes(i).text 字節點值 
next 

'取出一個節點的屬性集合 
set objnodes=objdom.documentElement.SelectSingleNode("//people/man").GetAttributeNode("name").attributes 
遍歷這個集合 
for each element in objnodes 
response.write element.nodename 屬性名 
response.write element.nodevalue 屬性值 
next 

等能夠熟練的運用xmldom對象來操作xml文件了,就可以享受xmlhttp對象來實現asp下的許多功能了。 

------------------------------------------------------------------------------------------ 

雖然asp只能簡單的操作XML文件,可是對于一般程序開發者來說就已經足夠。 
之前,XML語言非常的少接觸,后來慢慢的,發覺XML在存儲數據上有很多的方便。雖然安全性不好(個人認為),可是對于一般的數據存儲的確 是一個非常不錯的選擇。 
今天因為在一個網站上需要用到XML,我在這里就做一些總結(后期將會用到): 
============== 
首先,先整理ASP讀取XML文件 
default.asp的代碼 
<% 
dim node,i,nodecount 
set Doc = CreateObject("Microsoft.XMLDOM") 
Doc.async = false 
Doc.load(Server.MapPath("data.xml")) 
set root = Doc.documentElement 
set nodeLis = root.childNodes 
nodeCount = nodeLis.length 
For i=1 to nodeCount 
set node = nodeLis.nextNode() 
set cost = node.attributes.getNamedItem("cost") 
%> 
第 <%=i%> 條記錄: 
<table width="50%" border="1"> 
<tr> 
<td width="43" rowspan="2"><img src="<%=node.selectSingleNode("img").text%>"/></td> 
<td width="46">書名</td> 
<td width="48">出版社</td> 
<td width="42">價格</td> 
</tr> 
<tr> 
<td> 
<%=node.selectSingleNode("name").text%> 
</td> 
<td> 
<%=node.selectSingleNode("publisher").text%> 
</td> 
<td> 
<%= cost.text%> 
</td> 
</tr> 
</table> 
<% 
Next 
%> 
==================== 
接下來就是Data.xml數據內容 
<?xml version="1.0" encoding="UTF-8"?> 
<data> 
<book cost="56"> 
<name>Dreamweaver</name> 
<publisher>中國鐵路出版社</publisher> 
<img>img/dw.jpg</img> 
</book> 
<book cost="62"> 
<name>Flash</name> 
<publisher>中國鐵路出版社</publisher> 
<img>img/flash.jpg</img> 
</book> 
<book cost="48"> 
<name>Firweorks</name> 
<publisher>中國鐵路出版社</publisher> 
<img>img/fw.jpg</img> 
</book> 
</data>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97精品国产97久久久久久免费| 色综合久久久888| 国内免费精品永久在线视频| 国产精品久久久久久亚洲调教| 国产午夜精品一区二区三区| 欧美综合国产精品久久丁香| 国产视频精品免费播放| 欧美理论片在线观看| 亚洲区免费影片| 亚洲电影免费在线观看| 亚洲美女久久久| 爽爽爽爽爽爽爽成人免费观看| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产精品久久久久秋霞蜜臀| 国自在线精品视频| 国产综合久久久久| 97色在线观看| 55夜色66夜色国产精品视频| 欧美老女人性视频| 国产精品久久久精品| 欧美激情网站在线观看| 精品福利一区二区| 国产日韩综合一区二区性色av| 成人午夜激情免费视频| 亚洲欧美日韩图片| 日韩高清a**址| 欧美亚洲午夜视频在线观看| 日韩成人黄色av| 欧美丝袜一区二区三区| 亚洲最大激情中文字幕| 亚洲a一级视频| 日韩有码视频在线| 色七七影院综合| 国产精品爽黄69天堂a| 色噜噜狠狠狠综合曰曰曰| 国产亚洲精品一区二区| 国产啪精品视频网站| 欧美黑人xxx| 亚洲剧情一区二区| 久久久久久网站| 欧美日韩电影在线观看| 久久99视频精品| 欧美高清视频在线| 国产精品夜色7777狼人| 久久久国产精品亚洲一区| 国产精品激情av在线播放| 国产精品18久久久久久首页狼| 国产精品男女猛烈高潮激情| 亚洲精品国偷自产在线99热| 国产精品自拍偷拍| 国产一区深夜福利| 亚洲精品自拍视频| 国产精品日韩欧美综合| 欧美中文字幕在线视频| 亚洲激情自拍图| 77777亚洲午夜久久多人| 国模视频一区二区| 日韩av免费网站| 成人国产精品日本在线| 粉嫩av一区二区三区免费野| 国产一区二区三区日韩欧美| 日韩精品在线观看一区| 日本国产一区二区三区| 国产综合香蕉五月婷在线| 疯狂做受xxxx高潮欧美日本| 久久久久久久久久久网站| 亚洲bt天天射| 综合欧美国产视频二区| 国产成人+综合亚洲+天堂| 456国产精品| 亚洲国产成人精品久久久国产成人一区| 欧美日韩国产123| 中文字幕在线看视频国产欧美在线看完整| 国产亚洲欧美一区| 色偷偷偷综合中文字幕;dd| 午夜精品久久久久久久白皮肤| 国产精品久久久久久久av电影| 欧美成人中文字幕| 久久精品国亚洲| 26uuu另类亚洲欧美日本老年| 欧洲精品毛片网站| 欧美电影免费观看电视剧大全| 日韩一区二区三区在线播放| 亚洲欧洲av一区二区| 疯狂做受xxxx高潮欧美日本| 欧美精品第一页在线播放| 亚洲国产欧美自拍| 久久免费高清视频| 97在线看福利| 亚洲欧美精品在线| 国产91在线高潮白浆在线观看| 久久91超碰青草是什么| 国产日韩欧美日韩大片| 欧美成人免费播放| 精品久久久久久国产91| 久久国产天堂福利天堂| 国产日韩欧美日韩| 97视频在线播放| 日韩女在线观看| 国产日韩欧美夫妻视频在线观看| 国产精品r级在线| 成人中心免费视频| 欧美在线免费视频| 久久成人国产精品| 欧美精品激情在线观看| 亚洲大胆人体视频| 日韩久久免费电影| 亚洲欧美日韩精品久久奇米色影视| 欧美午夜片欧美片在线观看| 亚洲欧美激情另类校园| 亚洲成人av片| 91精品国产91久久久久久久久| 97av在线视频免费播放| 日韩av在线播放资源| 国产精品久久久久久久久粉嫩av| 成人黄色生活片| 91在线免费网站| 欧美老少做受xxxx高潮| 国产精品高潮呻吟视频| 欧美裸身视频免费观看| 另类少妇人与禽zozz0性伦| 国产一区二区三区视频免费| 国产偷亚洲偷欧美偷精品| 国产精品偷伦免费视频观看的| 中文字幕日韩欧美精品在线观看| 国产精品综合不卡av| 亚洲国产精品yw在线观看| 成人一区二区电影| 色偷偷88888欧美精品久久久| 国产精品影片在线观看| 国产精品美女免费| 精品亚洲一区二区三区在线观看| 国产精品久久久久免费a∨大胸| 国产成人亚洲综合91精品| 青青草原一区二区| 久久久久久尹人网香蕉| 国内外成人免费激情在线视频| 欧美激情成人在线视频| 国内自拍欧美激情| 亚洲欧美一区二区三区久久| 国产视频精品在线| 日韩电影中文字幕在线| 国产精品扒开腿做爽爽爽视频| 日本精品视频在线播放| 韩国国内大量揄拍精品视频| 2019中文字幕免费视频| 91成人性视频| 欧美黑人xxxⅹ高潮交| 亚洲色图偷窥自拍| 精品无人区乱码1区2区3区在线| 欧美激情啊啊啊| 4438全国亚洲精品在线观看视频| 亚洲网站视频福利| 亚洲摸下面视频| 毛片精品免费在线观看| 俺也去精品视频在线观看| 欧美日韩激情小视频| 国产精品18久久久久久麻辣| 欧美日韩一区二区在线播放| 亚洲摸下面视频| 亚洲成人aaa| 久久精视频免费在线久久完整在线看| 色婷婷av一区二区三区久久| 91久久精品国产91久久性色|