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