- <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-03-05js实现的类似于asp数据字典的数据类型代码实例
- 2021-01-10asp字符串连接符&、多个字符串相加、字符串拼
- 2020-12-18asp和php哪个是主流?用ASP和PHP做网站哪个好?
- 2020-11-17OA办公系统网站源码(ASP开发)
- 2020-11-16PHP模拟asp中response类实现方法
- 2020-09-22ASP和PHP文件操作速度的对比
精彩推荐
- ASP教程
Discuz!NT 论坛整合ASP程序论坛教程
Discuz!NT 论坛整合ASP程序论坛 实现代码。...
- ASP教程
javascript asp教程第五课--合二为一
两条防线,一个函数: 试问你如何能保证客户端和服务器端具有相同的功能?表单域的验证闪现在我们眼前。别人把你的html复制到另外一个脚本,然后改...
- ASP教程
动网论坛验证码改进 加法验证码(ASPJpeg版)
很多站长都为论坛里太多的垃圾广告抓狂,本程序就是为了对付论坛垃圾广告群发器的。 将验证码改为加法运算,比如验证码显示“25+64等于?”,那么输...
- ASP教程
asp知识整理笔记4(问答模式)
继前几篇篇《asp知识整理笔记1》和《asp知识整理笔记2》,《asp知识整理笔记3》新鲜出炉: 23、问题:在ASP文件中读取HTML的表单字段有几种方法? 答:R...
- ASP教程
FSO遍历目录实现全站插马的代码
FSO遍历目录实现全站插马的代码...
- ASP教程
asp生成静态HTML(动态读取)
这样的代码多用于我们没有实现设计生成静态的功能,但又想临时将一些动态页面生成静态的,直接获取动态内容并保存为静态的...
- ASP教程
asp 判断上传文件中是否存在危险代码
asp 判断上传文件中是否存在危险代码...
- ASP教程
asp代码实现检测组件是否安装的函数
asp代码实现检测组件是否安装的函数...