四、操作Xml数据的Cls_Person类说明(clsPerson.asp) *************************************************** Class Cls_Person Private m_intId Id,对应Person节点在Persons集合中的位置 类初始化 类释放 —–读写各个属性————————— Public Property Get Id Public Property Let Id(intId) Public Property Get Name Public Property Let Name(strName) Public Property Get Nick Public Property Let Nick(strNick) Public Property Get Mobile Public Property Let Mobile(strMobile) Public Property Get Tel Public Property Let Tel(strTel) Public Property Get Email Public Property Let Email(strEmail) Public Property Get QQ Public Property Let QQ(strQQ) Public Property Get Company Public Property Let Company(strCompany) ———————————————– 获取错误信息 私有方法,添加错误信息 清除错误信息 从Xml中读取指定节点的数据,并填充各个属性 ClearError If objXmlDoc Is Nothing Then If CStr(m_intId) = “-1” Then 选择并读取节点信息,赋予各个属性 添加信息到XML文件中 ClearError If objXmlDoc Is Nothing Then 创建Person节点 创建各个子节点 Set objNode = objXmlDoc.createElement(“Nick”) Set objNode = objXmlDoc.createElement(“Mobile”) Set objNode = objXmlDoc.createElement(“Tel”) Set objNode = objXmlDoc.createElement(“Email”) Set objNode = objXmlDoc.createElement(“QQ”) Set objNode = objXmlDoc.createElement(“Company”) Set objNode = Nothing On Error Resume Next 从XML文件中删除数据 ClearError If objXmlDoc Is Nothing Then If CStr(m_intId) = “-1” Then Set objNodeList = objXmlDoc.getElementsByTagName(“Person”) On Error Resume Next If Err.Number = 0 Then 修改XML文件中的数据 ClearError If objXmlDoc Is Nothing Then If CStr(m_intId) = “-1” Then Set objPersonList = objXmlDoc.getElementsByTagName(“Person”) Set objOldPerson = objPersonList(m_intId-1) 要修改的旧节点 Set objNewPerson = objXmlDoc.createElement(“Person”) 用来替换旧节点的新节点 Set objNode = objXmlDoc.createElement(“Nick”) Set objNode = objXmlDoc.createElement(“Mobile”) Set objNode = objXmlDoc.createElement(“Tel”) Set objNode = objXmlDoc.createElement(“Email”) Set objNode = objXmlDoc.createElement(“QQ”) Set objNode = objXmlDoc.createElement(“Company”) On Error Resume Next Set objOldPerson = Nothing If Err.Number = 0 Then End Class
Cls_Person类用来完成与联系人信息相关的各种操作,包括添加、修改和删除等等,它使用VBScript编写。Cls_Person包括Id、Name、Nick、Mobile、Tel、Email、QQ和Company属性,对应于XML文件中的Person节点。Cls_Person包括GetInfoFromXml、AddToXml、EditToXml和DeleteFormXml四个主要方法,分别完成获取信息,添加信息,修改信息和删除信息四个功能。
Cls_Person的具体实现如下,
说明:Person类
作者:gwd 2002-11-06
引用:pub/constpub.asp
***************************************************
Private m_strName 姓名
Private m_strNick 英文名
Private m_strMobile 手机
Private m_strTel 电话
Private m_strEmail 电子邮件
Private m_strQQ QQ号
Private m_strCompany 所在公司
Private m_strError 出错信息
Private Sub Class_Initialize()
m_strError = “”
m_intId = -1
End Sub
Private Sub Class_Terminate()
m_strError = “”
End Sub
Id = m_intId
End Property
m_intId = intId
End Property
Name = m_strName
End Property
m_strName = strName
End Property
Nick = m_strNick
End Property
m_strNick = strNick
End Property
Mobile = m_strMobile
End Property
m_strMobile = strMobile
End Property
Tel = m_strTel
End Property
m_strTel = strTel
End Property
Email = m_strEmail
End Property
m_strEmail = strEmail
End Property
QQ = m_strQQ
End Property
m_strQQ = strQQ
End Property
Company = m_strCompany
End Property
m_strCompany = strCompany
End Property
Public Function GetLastError()
GetLastError = m_strError
End Function
Private Sub AddErr(strEcho)
m_strError = m_strError + “<Div CLASS=””alert””>” & strEcho & “</Div>”
End Sub
Public Function ClearError()
m_strError = “”
End Function
需要首先设置Id
Public Function GetInfoFromXml(objXmlDoc)
Dim objNodeList
Dim I
GetInfoFromXml = False
AddErr “Dom对象为空值”
Exit Function
End If
GetInfoFromXml = False
AddErr “未正确设置联系人对象的ID属性”
Exit Function
Else
I = m_intId – 1 要读取得节点位置
End If
Set objNodeList = objXmlDoc.getElementsByTagName(“Person”)
If objNodeList.length – m_intId >= 0 Then
On Error Resume Next
m_strName = objNodeList(I).selectSingleNode(“Name”).Text
m_strNick = objNodeList(I).selectSingleNode(“Nick”).Text
m_strMobile = objNodeList(I).selectSingleNode(“Mobile”).Text
m_strTel = objNodeList(I).selectSingleNode(“Tel”).Text
m_strEmail = objNodeList(I).selectSingleNode(“Email”).Text
m_strQQ = objNodeList(I).selectSingleNode(“QQ”).Text
m_strCompany = objNodeList(I).selectSingleNode(“Company”).Text
GetInfoFromXml = True
Else
GetInfoFromXml = False
AddErr “获取联系信息发生错误”
Set objNodeList = Nothing
Exit Function
End If
Set objNodeList = Nothing
End Function
需要首先设置好要填充的属性
Public Function AddToXml(objXmlDoc)
Dim objPerson, objNode
AddToXml = False
AddErr “Dom对象为空值”
Exit Function
End If
Set objPerson = objXmlDoc.createElement(“Person”)
objXmlDoc.documentElement.appendChild objPerson
—————————————————–
Set objNode = objXmlDoc.createElement(“Name”)
objNode.Text = m_strName
objPerson.appendChild objNode
objNode.Text = m_strNick
objPerson.appendChild objNode
objNode.Text = m_strMobile
objPerson.appendChild objNode
objNode.Text = m_strTel
objPerson.appendChild objNode
objNode.Text = m_strEmail
objPerson.appendChild objNode
objNode.Text = m_strQQ
objPerson.appendChild objNode
objNode.Text = m_strCompany
objPerson.appendChild objNode
—————————————————–
Set objPerson = Nothing
objXmlDoc.save Server.MapPath(C_XMLFILE) 保存XML文件
If Err.Number = 0 Then
AddToXml = True
Else
AddToXml = False
AddErr Err.Description
End If
End Function
需要首先设置Id
Public Function DeleteFromXml(objXmlDoc)
Dim objNodeList, objNode
DeleteFromXml = False
AddErr “Dom对象为空值”
Exit Function
End If
DeleteFromXml = False
AddErr “未正确设置联系人对象的ID属性”
Exit Function
End If
If objNodeList.length – m_intId < 0 Then
DeleteFromXml = False
AddErr “未找到相应的联系人”
Set objNodeList = Nothing
Exit Function
End If
Set objNode = objXmlDoc.documentElement.removeChild(objNodeList(intId-1))
If objNode Is Nothing Then
DeleteFromXml = False
AddErr “删除联系人失败”
Set objNodeList = Nothing
Exit Function
Else
objXmlDoc.save Server.MapPath(C_XMLFILE)
End If
Set objNode = Nothing
Set objNodeList = Nothing
DeleteFromXml = True
Else
DeleteFromXml = False
AddErr Err.Description
End If
End Function
需要首先设置好Id
Public Function EditToXml(objXmlDoc)
Dim objPersonList, objOldPerson, objNewPerson, objNode
EditToXml = False
AddErr “Dom对象为空值”
Exit Function
End If
EditToXml = False
AddErr “未正确设置联系人对象的ID属性”
Exit Function
End If
If objPersonList.length – m_intId < 0 Then
DeleteFromXml = False
AddErr “未找到相应的联系人”
Set objPersonList = Nothing
Exit Function
End If
Set objNode = objXmlDoc.createElement(“Name”)
objNode.Text = m_strName
objNewPerson.appendChild objNode
objNode.Text = m_strNick
objNewPerson.appendChild objNode
objNode.Text = m_strMobile
objNewPerson.appendChild objNode
objNode.Text = m_strTel
objNewPerson.appendChild objNode
objNode.Text = m_strEmail
objNewPerson.appendChild objNode
objNode.Text = m_strQQ
objNewPerson.appendChild objNode
objNode.Text = m_strCompany
objNewPerson.appendChild objNode
进行替换
Set objNode = objXmlDoc.documentElement.replaceChild(objNewPerson, objOldPerson)
If objNode Is Nothing Then
EditToXml = False
AddErr “修改联系人失败”
Set objOldPerosn = Nothing
Set objNewPerson = Nothing
Set objPersonList = Nothing
Exit Function
Else
objXmlDoc.save Server.MapPath(C_XMLFILE)
End If
Set objNewPerson = Nothing
Set objPersonList = Nothing
EditToXml = True
Else
EditToXml = False
AddErr Err.Description
End If
End Function
实例演练asp+xml编程(3)_asp实例
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 实例演练asp+xml编程(3)_asp实例
相关推荐
- 暂无文章
