If objPersonList.length - m_intId < 0 Then
DeleteFromXml = False
AddErr "未找到相应的联系人"
Set objPersonList = Nothing
Exit Function
End If
Set objOldPerson = objPersonList(m_intId-1) '' 要修改的旧节点
Set objNewPerson = objXmlDoc.createElement("Person") '' 用来替换旧节点的新节点
Set objNode = objXmlDoc.createElement("Name")
objNode.Text = m_strName
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("Nick")
objNode.Text = m_strNick
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("Mobile")
objNode.Text = m_strMobile
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("Tel")
objNode.Text = m_strTel
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("Email")
objNode.Text = m_strEmail
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("QQ")
objNode.Text = m_strQQ
objNewPerson.appendChild objNode
Set objNode = objXmlDoc.createElement("Company")
objNode.Text = m_strCompany
objNewPerson.appendChild objNode
On Error Resume Next
'' 进行替换
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 objOldPerson = Nothing
Set objNewPerson = Nothing
Set objPersonList = Nothing
If Err.Number = 0 Then
EditToXml = True
Else
EditToXml = False
AddErr Err.Description
End If
End Function
End Class
五、
程序首页(default.asp)
调用相应的包含文件和公共函数,格式化XML文件,并进行显示。可以看到,页面Title是可定制的,公共的头部和尾部都做成了相应的包含文件。C_TITLE、C_XMLFILE和C_XSLFILE为公共常量,在constpub.asp文件中定义,至于它们的意义,相信读者可以很容易地明白。这里调用了上面定义的FormatXml函数。
<% Option Explicit
''***********************************************
'' 说明:通讯录
'' 作者:gwd 2002-11-05
''***********************************************
%>
<!--#include file="pub/funcxml.asp"-->
<!--#include file="pub/constpub.asp"-->
<HTML>
<HEAD>
<TITLE><% = C_TITLE %></TITLE>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=GB2312"/>
<link rel="stylesheet" href="contact.css" type="text/css">
</HEAD>
<BODY>
<!--#include file="pub/header.asp"-->
<% = FormatXml(C_XMLFILE, C_XSLFILE) %>
<br>
<!--#include file="pub/footer.asp"-->
</BODY>
</HTML>
六、添加、修改和删除XML中的信息
我们知道,在Cls_Person中已经定义了相应的方法,因此,在各个文件中,只需要调用对应的方法即可。添加信息的文件为add.asp,修改信息的文件为edit.asp,删除信息的文件为delete.asp,我们仅以add.asp文件为例进行说明。其中的CheckStrInpu