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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP XML操作类代码
    复制代码 代码如下:
    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
    '//============================================================
    '
    Public Function CreateNew(sName)
    Set tmpNode = objXml.createElement(sName)
    objXml.appendChild(tmpNode)
    Set CreateNew = tmpNode
    End Function
    '
    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
    '
    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
    '//=============================================================================
    '
    Public Function SaveXML()
    'ProcessingInstruction()
    objXml.save(xmlPath)
    End Function
    '
    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


    ASP通过XMLDom在服务器端操作XML文件的主要方法和实现
    对于小数据量,xml文件在检索更新上于ACCESS有很多优势。

    我曾经测试过不用数据库,把网站的会员信息,商品数据信息,交易信息,网站定制信息全部存放在三个xml文件中,运行结果十分正常,感觉上比数据库快多了,不过没有作测试,不能确定。

    下面说一下创建,查询,修改等对xml操作的主要方法

    ‘创建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

    等能够熟练的运用xmldom对象来操作xml文件了,就可以享
    受xmlhttp对象来实现asp下的许多功能了。

    re:[转]ASP通过XMLDom在服务器端操作XML文件的主要方法和实现
    飞飞,你怎么不介绍一下@的用法,没了这个,很多事不方便。
    xml,有人也称之为数据压缩技术,顾名思义,xml是可以充当数据库来用。
    所以,我们可以把xml看成是“小型的数据库”。为什么说是小型呢?因为xml本身的功能及应用方便,与数据库还是存在着一定的差别。那我们为什么要使用xml呢?因为,有时候我们的一些应用程序虽然进行数据存取,但是,如果使用数据库的话,显行有些不够灵活,方便。这个时候,我们就应该结合xml来使用。
    xml既然可以看成是数据库,那它的第一步工作就当然是创建链接对象了。(以ASP+xml为例)
    创建方法同链接数据库一样,用server.createobject为创建。
    方法如下:
    set xmlDoc= Server.CreateObject(”microsoft.xmldom”)
    xmlDoc.async=false
    xmldata=数据源绝对路径
    xmlDoc.load xmldata '这里使用load方法进行链接

    既于xml的数据格式是比较人性化的,可以由于人为或其它的原因,引起数据格式不合法,这时如果继续使用的话,会引起程序出程,这样,我们往往在创建好链接对象后进行数据格式验证。
    方法如下:
    if xmlDoc.parseError.errorCode>0 then
    ….错误处理


    %
    ‘—————————————————————-
    ‘程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看
    ‘入口参数: 无
    ‘出口参数: 无
    ‘————————————————
    ‘函数名字:ConnectXml()
    ‘入口参数: filename 需要连接或打开的xml文件名
    ‘出口参数: 无
    ‘返回值 :ConnectXml=0,XMLMorntekDocument就是一个成功装载XML文档的对象了。
    ‘ ConnectXml>0,则打印错误信息strError
    ‘————————————————
    dim XMLMorntekDocument

    function ConnectXml(filename)
    dim strSourceFile
    strSourceFile = Server.MapPath(filename)
    Set XMLMorntekDocument = Server.CreateObject(”Microsoft.XMLDOM”)
    XMLMorntekDocument.async = false
    XMLMorntekDocument.load(strSourceFile)
    ConnectXml=XMLMorntekDocument.parseerror.errorcode
    if XMLMorntekDocument.parseerror.errorcode>0 then
    strError=”h2>error”XMLMorntekDocument.parseerror.errorcode”/h2>”
    strError=strErrorXMLMorntekDocument.parseerror.reason”br>”
    strError=strErrorXMLMorntekDocument.parseerror.url”br>”
    strError=strErrorXMLMorntekDocument.parseerror.line”br>”
    strError=strErrorXMLMorntekDocument.parseerror.filepos”br>”
    strError=strErrorXMLMorntekDocument.parseerror.srcText”br>”
    response.write strError
    end if
    end function

    ‘————————————————
    ‘函数名字:CloseXml()
    ‘入口参数: 无
    ‘出口参数: 无
    ‘————————————————
    function CloseXml(XMLMorntekDocument)
    if IsObject(XMLMorntekDocument) then
    set XMLMorntekDocument=nothing
    end if
    end function

    ‘————————————————
    ‘函数名字:SelectXmlNodeText(elementname)
    ‘入口参数: elementname 元素的名字
    ‘出口参数: 无
    ‘————————————————
    function SelectXmlNodeText(elementname)
    elementname=”//”elementname
    temp=XMLMorntekDocument.selectSingleNode(elementname).text
    selectXmlNodeText= server.htmlencode(temp)

    end function

    ‘————————————————
    ‘函数名字:InsertXmlNodeText(befelementname,elementname,elementtext)
    ‘入口参数: elementname 插入的元素的名字
    ‘ befelementname在此元素的名字前面插入元素
    ‘ elementtext 插入的元素的文本
    ‘出口参数: 无
    ‘————————————————
    function InsertXmlNodeText(befelementname,elementname,elementtext)
    dim befelement,element
    set befelement=XMLMorntekDocument.selectSingleNode(”//”befelementname)
    set element= XMLMorntekDocument.createelement(elementname)
    befelement.insertBefore element,befelement.firstchild
    element.text=elementtext
    end function

    ‘————————————————
    ‘函数名字:UpdateXmlNodeText(elementname,newelementtext)
    ‘入口参数: elementname 元素的名字
    ‘ newelementtext元素的新文本
    ‘出口参数: 无
    ‘————————————————
    function UpdateXmlNodeText(elementname,newelementtext)
    dim element
    set element=XMLMorntekDocument.selectSingleNode(”//”elementname)
    element.text=newelementtext
    end function

    ‘————————————————
    ‘函数名字:DeleteXmlNodeText(elementname)
    ‘入口参数: elementname 元素的名字
    ‘出口参数: 无
    ‘————————————————
    function DeleteXmlNodeText(elementname)
    XMLMorntekDocument.selectSingleNode(”//”elementname).text =”"
    end function
    %>
    ____________________

    本文未经测试,文章可行度未知。
    您可能感兴趣的文章:
    • asp下将数据库中的信息存储至XML文件中
    • asp access数据库并生成XML文件范例
    • Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
    • ASP读取XML实例 优酷专辑采集程序 雷锋版
    • ASP XMLDom在服务器端操作XML文件的主要方法和实现
    • Asp操作Xml的精炼类,含示例代码
    • ASP.NET+XML打造网络硬盘原理分析
    • asp xmlhttp下载一句话
    • asp.net TreeView与XML三步生成列表树
    • Asp 解析 XML并分页显示源码
    • ASP.NET中XML转JSON的方法实例
    • ASP.net处理XML数据实例浅析
    • ASP.NET XmlDocument类详解
    • asp.net中XML如何做增删改查操作
    • asp控制xml数据库的经典代码
    上一篇:ASP 日期的加减运算实现代码
    下一篇:asp读取xml实例代码
  • 相关文章
  • 

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

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

    ASP XML操作类代码 ASP,XML,操作,类,代码,ASP,