以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  [转帖]Dom操作xml的常用方法[ASP+VBS]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=29874)


--  作者: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


--  作者:langjia
--  发布时间:4/4/2006 2:54:00 PM

--  
MICROSOFT XML的SDK很详细.
--  作者:zglgh3
--  发布时间:5/3/2006 3:32:00 PM

--  
谢谢楼主了,怎好我又用
--  作者:peachpig
--  发布时间:5/5/2007 10:46:00 AM

--  
很受用!修改、替换怎么写呢?谢谢!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms