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("http://name")
'創建一個節點對象 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("http://people/man") '取出這個節點對象的 節點名,節點值,某個屬性值,和全部的xml nodename=objtofind.nodename nodevalue=objtofind.text objtofind.GetAttributeNode("name").NodeValue '屬性名為name的屬性值
'取出一個屬性節點對象 set objattrtofind=objdom.documentElement.SelectSingleNode("http://people/man"). GetAttributeNode("name") '取出這個節點的屬性名,屬性值 nodeattrname=objattrtofind.nodename nodeattrvalue=objattrtofind.nodevalue
'刪除一個節點對象 set objnode=objdom.documentElement.SelectSingleNode("http://people/man") '要刪除的節點 set objparentnode=objdom.documentElement.SelectSingleNode("http://people") '要刪除的節點的父節點 objparentnode.removeChild objnode
'取出一個節點的字節點集合 set objnodes=objdom.documentElement.SelectSingleNode("http://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("http://people/man").GetAttributeNode("name").attributes 遍歷這個集合 for each element in objnodes response.write element.nodename 屬性名 response.write element.nodevalue 屬性值 next