- <script language="vbscript" runat="server">
- '============================================================
- '作者:做回自己
- '时间:2005-3-15
- ============================================================
- Class XMLClass
- Private objXml
- Private xmlDoc
- Private xmlPath
- '//============================================================
- '<!--类初始化及注销时的事件-->
- Sub Class_initialize
- Set objXml = Server.CreateObject("MSXML2.DOMDocument")
- objXml.preserveWhiteSpace = true
- objXml.async = false
- End Sub
- Sub Class_Terminate
- Set objXml = Nothing
- End Sub
- '//============================================================
- '<!--建立一个新的XML文档-->
- Public Function CreateNew(sName)
- Set tmpNode = objXml.createElement(sName)
- objXml.appendChild(tmpNode)
- Set CreateNew = tmpNode
- End Function
- '<!--从外部读入XML文档-->
- Public Function OpenXml(sPath)
- OpenXml=False
- sPath=Server.MapPath(sPath)
- 'Response.Write(sPath)
- xmlPath = sPath
- If objXml.load(sPath) Then
- Set xmlDoc = objXml.documentElement
- OpenXml=True
- End If
- End Function
- '<!--从外部读入XML字符串-->
- Public Sub LoadXml(sStr)
- objXml.loadXML(sStr)
- Set xmlDoc = objXml.documentElement
- End Sub
- Public Sub InceptXml(xObj)
- Set objXml = xObj
- Set xmlDoc = xObj.documentElement
- End Sub
- '//============================================================
- '<!--新增一个节点-->
- Public Function AddNode(sNode,rNode)
- ' sNode STRING 节点名称
- ' rNode OBJECT 增加节点的上级节点引用
- '=============================================================
- Dim TmpNode
- Set TmpNode = objXml.createElement(sNode)
- rNode.appendChild TmpNode
- Set AddNode = TmpNode
- End Function
- '<!--新增一个属性-->
- Public Function AddAttribute(sName,sValue,oNode)
- ' sName STRING 属性名称
- ' sValue STRING 属性值
- ' oNode OBJECT 增加属性的对象
- '=============================================================
- oNode.setAttribute sName,sValue
- End Function
- '<!--新增节点内容-->
- Public Function AddText(FStr,cdBool,oNode)
- Dim tmpText
- If cdBool Then
- Set tmpText = objXml.createCDataSection(FStr)
- Else
- Set tmpText = objXml.createTextNode(FStr)
- End If
- oNode.appendChild tmpText
- End Function
- '========================================================================================================
- '<!--取得节点指定属性的值-->
- Public Function GetAtt(aName,oNode)
- ' aName STRING 属性名称
- ' oNode OBJECT 节点引用
- '=============================================================
- dim tmpValue
- tmpValue = oNode.getAttribute(aName)
- GetAtt = tmpValue
- End Function
- '<!--取得节点名称-->
- Public Function GetNodeName(oNode)
- ' oNode OBJECT 节点引用
- GetNodeName = oNode.nodeName
- End Function
- '<!--取得节点内容-->
- Public Function GetNodeText(oNode)
- ' oNode OBJECT 节点引用
- GetNodeText = oNode.childNodes(0).nodeValue
- End Function
- '<!--取得节点类型-->
- Public Function GetNodeType(oNode)
- ' oNode OBJECT 节点引用
- GetNodeType = oNode.nodeValue
- End Function
- '<!--查找节点名相同的所有节点-->
- Public Function FindNodes(sNode)
- Dim tmpNodes
- Set tmpNodes = objXml.getElementsByTagName(sNode)
- Set FindNodes = tmpNodes
- End Function
- '<!--查打一个相同节点-->
- Public Function FindNode(sNode)
- Dim TmpNode
- Set TmpNode=objXml.selectSingleNode(sNode)
- Set FindNode = TmpNode
- End Function
- '<!--删除一个节点-->
- Public Function DelNode(sNode)
- Dim TmpNodes,Nodesss
- Set TmpNodes=objXml.selectSingleNode(sNode)
- Set Nodesss=TmpNodes.parentNode
- Nodesss.removeChild(TmpNodes)
- End Function
- '<!--替换一个节点-->
- Public Function ReplaceNode(sNode,sText,cdBool)
- 'replaceChild
- Dim TmpNodes,tmpText
- Set TmpNodes=objXml.selectSingleNode(sNode)
- 'AddText sText,cdBool,TmpNodes
- If cdBool Then
- Set tmpText = objXml.createCDataSection(sText)
- Else
- Set tmpText = objXml.createTextNode(sText)
- End If
- TmpNodes.replaceChild tmpText,TmpNodes.firstChild
- End Function
- Private Function ProcessingInstruction
- '//--创建XML声明
- Dim objPi
- Set objPi = objXML.createProcessingInstruction("xml", "version="&chr(34)&"1.0"&chr(34)&" encoding="&chr(34)&"gb2312"&chr(34))
- '//--把xml生命追加到xml文档
- objXML.insertBefore objPi, objXML.childNodes(0)
- End Function
- '//=============================================================================
- '<!--保存XML文档-->
- Public Function SaveXML()
- 'ProcessingInstruction()
- objXml.save(xmlPath)
- End Function
- '<!--另存XML文档-->
- Public Function SaveAsXML(sPath)
- ProcessingInstruction()
- objXml.save(sPath)
- End Function
- '//==================================================================================
- '相关统计
- '<!--取得根节点-->
- Property Get Root
- Set Root = xmlDoc
- End Property
- '<!--取得根节点下子节点数-->
- Property Get Length
- Length = xmlDoc.childNodes.length
- End Property
- '//==================================================================================
- '相关测试
- Property Get TestNode
- TestNode = xmlDoc.childNodes(0).text
- End Property
- End Class
- </script>
一个asp版XMLDOM操作类
2019-09-19 11:51asp代码网 ASP教程
一个xmldom操作类代码,方便需要跟xml结合的代码
延伸 · 阅读
- 2021-10-20关于ASP网页无法打开的解决方案
- 2021-10-14让apache也支持asp环境的方法
- 2021-08-15asp取整数mod 有小数的就自动加1
- 2021-08-15asp与php中定时生成页面的思路与代码
- 2021-05-09IIS 7.5 asp Session超时时间设置方法
- 2021-03-05js实现的类似于asp数据字典的数据类型代码实例
精彩推荐
- ASP教程
JScript中遍历Request表单参数集合的方法
这篇文章主要介绍了JScript中遍历Request表单参数集合的方法,本文以遍历Request.QueryString集合为例给出了实现代码,需要的朋友可以参考下...
- ASP教程
ASP.NET 数据源
数据源 一个 data sourse 控件与数据绑定的控件相互作用,并隐藏了复杂的数据的联编过程。这些是提供数据给 data bound 控件的工具,并且支持如插入,删除...
- ASP教程
asp之基于adodb.stream的文件操作类
asp之基于adodb.stream的文件操作类...
- ASP教程
asp 标记字符串中指定字符变色不区分大小写
今天遇到这种问题,单纯的使用replace函数不行,他会改变原有的字符串的大小写,在网上找到相关的代码,自己备份下...
- ASP教程
asp Access数据备份,还原,压缩类代码
asp Access数据备份,还原,压缩类实现代码,大家可以参考下。...
- ASP教程
asp+javascript实现404页的处理转换
asp+javascript实现404页的处理转换...
- ASP教程
ASP常用函数:getpy()
ASP常用函数:getpy()...
- ASP教程
asp 采集实战代码
最近实在是太流行采集了,本人是不喜欢采集的,但对采集的原理我却很有兴趣进行研究,拿到了网上采集常用函数,对其进行了一番研究,并实战,结果...