-- 作者:Qr
-- 发布时间:4/3/2006 10:17:00 PM
-- [转帖]Dom操作xml的常用方法[ASP+VBS]
'创建DOM对象 set objDom=server.CreateObject("microsoft.xmldom") '取得xml数据 '方法1 objDom.load("c:\test.xml") '方法2 objDom.load(server.mappath("test.xml")) '创建一个节点对象 Set newNode=objDom.CreateElement("people") '给节点赋值 newNode.Text="man" ' 给节点添加属性 Set newAttribute=objDom.CreateNode("attribute","name","") newAttribute.Text= "Smith" newnode.SetAttributeNode newAttribute '给节点添加子节点 Set newnodeChild=objDom.CreateElement("address") newnode.appendChild newnodeChild '保存节点对象 objDom.appendChild newnode objDom.save("c:\test.xml") '查找节点对象 set objfind=objdom.documentElement.SelectSingleNode("//people/man") '取出这个节点对象的 节点名,节点值,某个属性值 nodename=objfind.nodename nodevalue=objfind.text objfind.GetAttributeNode("name").Nodevalue'属性名为name的属性值 '取出一个属性节点对象 set objattrfind=objdom.documentElement.SelectSingleNode("//people/man"). GetAttributeNode("name") '取出这个节点的属性名,属性值 nodeattrname=objattrfind.nodename nodeattrvalue=objattrfind.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
|