Dom操作xml的常用方法

來源:互聯網
上載者:User
dom|xml (Dom的全部方法和屬性可到vs的物件瀏覽器察看)

'建立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

======================================================

<%
dim xmldoc,node
set xmldoc=server.CreateObject("msxml2.domdocument")
xmldoc.async=false '非同步傳輸
xmldoc.loadXML "<ROOT/>"

xmldoc.createProcessingInstruction "xml","version='1.0' encoding='gb2312'"

set node=xmlCreateNode(xmldoc,xmldoc.documentElement,"user",0,0,"")

xmlCreateNode xmldoc,node,"name",1,1,"ssm1226"
xmlCreateNode xmldoc,node,"name",0,1,"呢稱:雨中人"

'*********************************************************
'函數功能:添加子節點或屬性
'xmldoc--XML DOM Object
'xmldocObj--要添加目的節點對象
'EleNameOrAttName--節點名或屬性名稱
'Key--0-節點;1-屬
'ifTxt--是否有內容0-無;1-有
'Text--當ifTxt=1時有效,內容
'By '著作權資訊:author:ssm1226 ;data:2003-1-2;copyright:yeboss.net
'*********************************************************
function xmlCreateNode(xmldoc,xmldocObj,EleNameOrAttName,Key,ifTxt,Text)
  If Key=0 then
   Dim SubNode
   set SubNode=xmldoc.createElement(EleNameOrAttName)
   if ifTxt=1 then SubNode.text=Text
   xmldocObj.appendChild SubNode
   set xmlCreateNode=subNode
   set SubNode=Nothing
  ElseIf Key=1 then
   Dim AttNode
   set AttNode=xmldoc.createAttribute(EleNameOrAttName)
   if ifTxt=1 then AttNode.text=Text
   xmldocObj.attributes.setNamedItem AttNode
   set xmlCreateNode=AttNode
   set AttNode=Nothing
  End If  
end function

Response.Write xmldoc.xml
%>



相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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