- <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 采集實戰代碼
最近實在是太流行采集了,本人是不喜歡采集的,但對采集的原理我卻很有興趣進行研究,拿到了網上采集常用函數,對其進行了一番研究,并實戰,結果...