一个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>

时间: 2024-12-18 01:24:36

一个asp版XMLDOM操作类的相关文章

一个asp版XMLDOM操作类_应用技巧

<script language="vbscript" runat="server"> '============================================================ '作者:做回自己 '时间:2005-3-15 ============================================================ Class XMLClass Private objXml Private x

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

ASP通用数据库操作类源代码

<%'=========================================================================='文件名称:clsDbCtrl.asp'功 能:数据库操作类'作 者:coldstone (coldstone[在]qq.com)'程序版本:v1.0.5'完成时间:2005.09.23'修改时间:2007.10.30'版权声明:可以在任意作品中使用本程序代码,但请保留此版权信息.'          如果你修改了程序中的代码并得到更好的应用,

ASP Crazy 模版操作类(最简单的模板类、仅提供交流)_应用技巧

文件名:Awa_temp.Class.asp 复制代码 代码如下: <% 'Crazy蛙!模板操作类 '作者Crazy~蛙! QQ:379969387 欢迎交流 '版本V1.0; Class AwaTemp Public aa Private FSO,StrTemp,FileData,GetDatas,StrHtmlName,htmlwrite,StrLabel,StrLValues '=========================================== '构造函数_初始化FS

求一个LINQ TO XML 操作类

问题描述 求一个LINQTOXML操作类 解决方案 解决方案二:google"LINQTOXML",如果你认为这都满足不了你,你可以放弃了解决方案三: 解决方案四:引用2楼q107770540的回复: MSDNLINQTOXML MSDN才是王道,也是最基本的,他是最好的学习工具

asp.net Cookie操作类_实用技巧

复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Data; using System.Configu

mysql仿asp的数据库操作类_Mysql

<?php  class MySQLDB    {      //MYSQL数据库操作类      //作者:熊毅      //版本:2.0(发行版)        查询数据时Query后可以用GetValue得到相应的值,既可以是字段名也可以是已0开始的序号  插入新值,先用AddNew后使用SetValue相应的字段名或序号和字段值,在用Update添加  编辑时用Edit指定编辑记录的条件在使用SetValue,最后用Update添加  在类使用过程中,sTName记录上次使用的数据库表

ASP Crazy 模版操作类(最简单的模板类、仅提供交流)

文件名:Awa_temp.Class.asp 复制代码 代码如下: <% 'Crazy蛙!模板操作类 '作者Crazy~蛙! QQ:379969387 欢迎交流 '版本V1.0; Class AwaTemp Public aa Private FSO,StrTemp,FileData,GetDatas,StrHtmlName,htmlwrite,StrLabel,StrLValues '=========================================== '构造函数_初始化FS

ASP.NET的一个简单的数据操作类

asp.net|数据 我现在还不会写持久层,就用这种方法加上存储过程用,我感觉还比较爽,希望大家多多指教public class clsdb{     public clsdb() {  //  // TODO: 在此处添加构造函数逻辑  // }//数据库连接    public static SqlConnection getcn()    {        return (new SqlConnection("server=.;database=web;uid=sa;pwd=123&quo