ASP通過XMLDom在伺服器端操作XML檔案

來源:互聯網
上載者:User
對於小資料量,xml檔案在檢索更新上於ACCESS有很多優勢。 

我曾經測試過不用資料庫,把網站的會員資訊,商品資料資訊,交易資訊,網站定製資訊全部存放在三個xml檔案中,運行結果十分正常,感覺上比資料庫快多了,不過沒有作測試,不能確定。 

下面說一下建立,查詢,修改等對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 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.