• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    一个asp版XMLDOM操作类
    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下查询xml的实现代码
    下一篇:ASP XML编程objXML.async = False第1/2页
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    一个asp版XMLDOM操作类 一个,asp,版,XMLDOM,操作,类,