创建
<%
'//创建DOM对象
Dim objDom
Set objDom = Server.CreateObject("MicroSoft.XMLDom")
'//创建根节点
Dim rootNode
Set rootNode = objDom.CreateElement("people")
objDom.appendChild rootNode
'//创建第一个子节点
Dim nodeChild,nodeChild2,nodeChild3
Set nodeChild = objDom.CreateElement("person")
Set nodeChild2 = objDom.CreateElement("name")
Set nodeChild3 = objDom.CreateElement("age")
nodeChild2.Text = "张三"
nodeChild3.Text = "25"
rootNode.appendChild nodeChild
nodeChild.appendChild nodeChild2
nodeChild.appendChild nodeChild3
'//给节点添加属性
Dim NewAttribute
Set NewAttribute = objDom.CreateNode("attribute","sex","")
NewAttribute.Text = "boy"
nodeChild2.SetAttributeNode NewAttribute
'//创建第二个子节点
Dim nodeChild4,nodeChild5,nodeChild6
Set nodeChild4 = objDom.CreateElement("person")
Set nodeChild5 = objDom.CreateElement("name")
Set nodeChild6 = objDom.CreateElement("age")
nodeChild5.Text = "李四"
nodeChild6.Text = "26"
rootNode.appendChild nodeChild4
nodeChild4.appendChild nodeChild5
nodeChild4.appendChild nodeChild6
'//保存为XML文件
objDom.save(Server.MapPath("test.xml"))
%>查找
<%
'//创建DOM对象
Dim objDom
Set objDom = Server.CreateObject("MicroSoft.XMLDom")
'//加载XML文件
objDom.async = false '不允许异步下载
objDom.load(Server.MapPath("test.xml"))
'//创建根节点对象
Dim objRoot
Set objRoot = objDom.documentElement
'//查找指定节点并获取节点名称、节点值及指定属性值
Dim objFind,nodeName,nodeValue,nodeAttribute
Set objFind = objRoot.SelectSingleNode("//people/person/name")
nodeName = objFind.nodename
nodeValue = objFind.text '结合更新体会text属性的可读可写
nodeAttribute = objFind.GetAttributeNode("sex").NodeValue
Response.write "1.查找指定节点并获取节点名称、节点值及指定属性值<br/>"
Response.write nodeName & "<br/>"
Response.write nodeValue & "<br/>"
Response.write nodeAttribute & "<br/><br/>"
'//取出一个节点的子节点集合
Dim objSubNodes
Set objSubNodes = objRoot.SelectSingleNode("//people/person").ChildNodes
Response.write "2.取出一个节点的子节点集合<br/>"
'方法1
For each element in objSubNodes
Response.write element.nodename & "=" & element.text & "<br/>"
Next
Response.write "<br/>"
'方法2
'For i = 0 to objSubNodes.length-1
' Response.write objSubNodes.Item(i).nodename
' Response.write objSubNodes.Item(i).text
'Next
'//取出一个节点属性对象
Dim objAttr,attrName,attrValue
Set objAttr = objRoot.SelectSingleNode("//people/person/name").GetAttributeNode("sex")
attrName = objAttr.nodename
attrValue = objAttr.nodevalue
Response.write "3.取出一个节点属性对象<br/>"
Response.write attrName & "=" & attrValue & "<br/><br/>"
'//取出一个节点的属性集合
Dim objSubSttrs
Set objSubSttrs = objRoot.SelectSingleNode("//people/person/name").attributes
Response.write "4.取出一个节点的属性集合<br/>"
For each element in objSubSttrs
Response.write element.nodename & "=" & element.nodevalue & "<br/>"
Next
%>更新
<%
'//创建DOM对象
Dim objDom
Set objDom = Server.CreateObject("MicroSoft.XMLDom")
'//加载XML文件
objDom.async = false '不允许异步下载
objDom.load(Server.MapPath("test.xml"))
'//创建根节点对象
Dim objRoot
Set objRoot = objDom.documentElement
'//修改张三的姓名及性别
Dim objSub
Set objSub = objRoot.SelectSingleNode("//people").childNodes.item(0)
objSub.childNodes.item(0).text = "王五" '结合查询体会text属性的可读可写
objSub.childNodes.item(0).GetAttributeNode("sex").nodevalue = "girl"
'//给李四添加性别属性
Dim NewAttribute
Set NewAttribute = objDom.CreateNode("attribute","sex","")
NewAttribute.Text = "boy"
'不创建对象,直接添加属性
objRoot.SelectSingleNode("//people").childNodes.item(1).childNodes.item(0).SetAttributeNode NewAttribute
'//再增加一个子节点
Dim nodeChild,nodeChild2,nodeChild3
Set nodeChild = objDom.CreateElement("person")
Set nodeChild2 = objDom.CreateElement("name")
Set nodeChild3 = objDom.CreateElement("age")
nodeChild2.Text = "小邝"
nodeChild3.Text = "24"
objRoot.appendChild nodeChild
nodeChild.appendChild nodeChild2
nodeChild.appendChild nodeChild3
objDom.save(Server.MapPath("test.xml")) '更新后必须保存
%>删除
<%
'//创建DOM对象
Dim objDom
Set objDom = Server.CreateObject("MicroSoft.XMLDom")
'//加载XML文件
objDom.async = false '不允许异步下载
objDom.load(Server.MapPath("test.xml"))
'//创建根节点对象
Dim objRoot
Set objRoot = objDom.documentElement
'//删除李四的年龄
Dim objSub,objSub2
Set objSub = objRoot.SelectSingleNode("//people").childNodes.item(1)
Set objSub2 = objSub.childNodes.item(1)
objSub.removeChild objSub2
objDom.save(Server.MapPath("test.xml")) '更新后必须保存
%>
评论(0)
暂无评论。