常用的操作xml文档的方法

Dom操作xml的常用方法
(Dom的全部方法和属性可到vs的对象浏览器察看)

'创建DOM对象
set objDom=server.CreateObject("microsoft.xmldom")

'取得xml数据
'方法1 取得xml文件的xml数据
  objDom.load("c:/test.xml")
'方法2 取得xml数据串的数据
  objDom.loadxml("<people><man name="sd"></people>") 

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

======================================================

<%
dim xmldoc,node
set xmldoc=server.CreateObject("msxml2.domdocument")
xmldoc.async=false '异步传输
xmldoc.loadXML "<ROOT/>"

xmldoc.createProcessingInstruction "xml","version='1.0' encoding='gb2312'"

set node=xmlCreateNode(xmldoc,xmldoc.documentElement,"user",0,0,"")

xmlCreateNode xmldoc,node,"name",1,1,"ssm1226"
xmlCreateNode xmldoc,node,"name",0,1,"呢称:雨中人"

'*********************************************************
'函数功能:添加子节点或属性
'xmldoc--XML DOM Object
'xmldocObj--要添加目的节点对象
'EleNameOrAttName--节点名或属性名
'Key--0-节点;1-属
'ifTxt--是否有内容0-无;1-有
'Text--当ifTxt=1时有效,内容
'By '版权信息:author:ssm1226 ;data:2003-1-2;copyright:yeboss.net
'*********************************************************
function xmlCreateNode(xmldoc,xmldocObj,EleNameOrAttName,Key,ifTxt,Text)
  If Key=0 then
   Dim SubNode
   set SubNode=xmldoc.createElement(EleNameOrAttName)
   if ifTxt=1 then SubNode.text=Text
   xmldocObj.appendChild SubNode
   set xmlCreateNode=subNode
   set SubNode=Nothing
  ElseIf Key=1 then
   Dim AttNode
   set AttNode=xmldoc.createAttribute(EleNameOrAttName)
   if ifTxt=1 then AttNode.text=Text
   xmldocObj.attributes.setNamedItem AttNode
   set xmlCreateNode=AttNode
   set AttNode=Nothing
  End If  
end function

Response.Write xmldoc.xml
%>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值