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")
'创建一个节点对象 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