仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 748|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网页编程之实例练习训练ASP+XML编程(3)

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:30:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。4、操纵Xml数据的Cls_Person类申明(clsPerson.asp)

Cls_Person类用来完成与接洽人信息相干的各类操纵,包含增加、修正和删除等等,它利用VBScript编写。Cls_Person包含Id、Name、Nick、Mobile、Tel、Email、QQ和Company属性,对应于XML文件中的Person节点。Cls_Person包含GetInfoFromXml、AddToXml、EditToXml和DeleteFormXml四个次要办法,分离完成猎取信息,增加信息,修正信息和删除信息四个功效。

Cls_Person的详细完成以下,

***************************************************
申明:Person类
gwd2002-11-06
援用:pub/constpub.asp
***************************************************
ClassCls_Person
Privatem_intIdId,对应Person节点在Persons汇合中的地位
Privatem_strName姓名
Privatem_strNick英文名
Privatem_strMobile手机
Privatem_strTel德律风
Privatem_strEmail电子邮件
Privatem_strQQQQ号
Privatem_strCompany地点公司
Privatem_strError堕落信息
类初始化
PrivateSubClass_Initialize()
 m_strError=""
 m_intId=-1
EndSub
类开释
PrivateSubClass_Terminate()
 m_strError=""
EndSub
-----读写各个属性---------------------------
PublicPropertyGetId
 Id=m_intId
EndProperty
PublicPropertyLetId(intId)
 m_intId=intId
EndProperty
PublicPropertyGetName
Name=m_strName
EndProperty
PublicPropertyLetName(strName)
 m_strName=strName
EndProperty
PublicPropertyGetNick
 Nick=m_strNick
EndProperty
PublicPropertyLetNick(strNick)
 m_strNick=strNick
EndProperty
PublicPropertyGetMobile
 Mobile=m_strMobile
EndProperty
PublicPropertyLetMobile(strMobile)
 m_strMobile=strMobile
EndProperty
PublicPropertyGetTel
 Tel=m_strTel
EndProperty
PublicPropertyLetTel(strTel)
 m_strTel=strTel
EndProperty
PublicPropertyGetEmail
 Email=m_strEmail
EndProperty
PublicPropertyLetEmail(strEmail)
 m_strEmail=strEmail
EndProperty
PublicPropertyGetQQ
 QQ=m_strQQ
EndProperty
PublicPropertyLetQQ(strQQ)
 m_strQQ=strQQ
EndProperty
PublicPropertyGetCompany
 Company=m_strCompany
EndProperty
PublicPropertyLetCompany(strCompany)
 m_strCompany=strCompany
EndProperty
-----------------------------------------------
猎取毛病信息
PublicFunctionGetLastError()
 GetLastError=m_strError
EndFunction
公有办法,增加毛病信息
PrivateSubAddErr(strEcho)
 m_strError=m_strError+"<DivCLASS=""alert"">"&strEcho&"</Div>"
EndSub
扫除毛病信息
PublicFunctionClearError()
 m_strError=""
EndFunction
从Xml中读取指定节点的数据,并添补各个属性
必要起首设置Id
PublicFunctionGetInfoFromXml(objXmlDoc)
 DimobjNodeList
 DimI
 ClearError
 IfobjXmlDocIsNothingThen
  GetInfoFromXml=False
  AddErr"Dom工具为空值"
  ExitFunction
 EndIf
 IfCStr(m_intId)="-1"Then
  GetInfoFromXml=False
  AddErr"未准确设置接洽人工具的ID属性"
  ExitFunction
 Else
  I=m_intId-1要读获得节点地位
 EndIf
 选择并读取节点信息,付与各个属性
 SetobjNodeList=objXmlDoc.getElementsByTagName("Person")
 IfobjNodeList.length-m_intId>=0Then
  OnErrorResumeNext
  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"猎取接洽信息产生毛病"
  SetobjNodeList=Nothing
  ExitFunction
 EndIf
 SetobjNodeList=Nothing
EndFunction
增加信息到XML文件中
必要起首设置好要添补的属性
PublicFunctionAddToXml(objXmlDoc)
 DimobjPerson,objNode
 ClearError
 IfobjXmlDocIsNothingThen
  AddToXml=False
  AddErr"Dom工具为空值"
  ExitFunction
 EndIf
 创立Person节点
 SetobjPerson=objXmlDoc.createElement("Person")
 objXmlDoc.documentElement.appendChildobjPerson
 创立各个子节点
 -----------------------------------------------------
 SetobjNode=objXmlDoc.createElement("Name")
 objNode.Text=m_strName
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Nick")
 objNode.Text=m_strNick
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Mobile")
 objNode.Text=m_strMobile
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Tel")
 objNode.Text=m_strTel
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Email")
 objNode.Text=m_strEmail
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("QQ")
 objNode.Text=m_strQQ
 objPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Company")
 objNode.Text=m_strCompany
 objPerson.appendChildobjNode
 -----------------------------------------------------
 SetobjNode=Nothing
 SetobjPerson=Nothing
 OnErrorResumeNext
 objXmlDoc.saveServer.MapPath(C_XMLFILE)保留XML文件
 IfErr.Number=0Then
  AddToXml=True
 Else
  AddToXml=False
  AddErrErr.Description
 EndIf
EndFunction
从XML文件中删除数据
必要起首设置Id
PublicFunctionDeleteFromXml(objXmlDoc)
 DimobjNodeList,objNode
 ClearError
 IfobjXmlDocIsNothingThen
  DeleteFromXml=False
  AddErr"Dom工具为空值"
  ExitFunction
 EndIf
 IfCStr(m_intId)="-1"Then
  DeleteFromXml=False
  AddErr"未准确设置接洽人工具的ID属性"
  ExitFunction
 EndIf
 SetobjNodeList=objXmlDoc.getElementsByTagName("Person")
 IfobjNodeList.length-m_intId<0Then
  DeleteFromXml=False
  AddErr"未找到响应的接洽人"
  SetobjNodeList=Nothing
  ExitFunction
 EndIf
 OnErrorResumeNext
 SetobjNode=objXmlDoc.documentElement.removeChild(objNodeList(intId-1))
 IfobjNodeIsNothingThen
  DeleteFromXml=False
  AddErr"删除接洽人失利"
  SetobjNodeList=Nothing
  ExitFunction
 Else
  objXmlDoc.saveServer.MapPath(C_XMLFILE)
 EndIf
 SetobjNode=Nothing
 SetobjNodeList=Nothing
 IfErr.Number=0Then
  DeleteFromXml=True
 Else
  DeleteFromXml=False
  AddErrErr.Description
 EndIf
EndFunction
修正XML文件中的数据
必要起首设置好Id
PublicFunctionEditToXml(objXmlDoc)
 DimobjPersonList,objOldPerson,objNewPerson,objNode
 ClearError
 IfobjXmlDocIsNothingThen
  EditToXml=False
  AddErr"Dom工具为空值"
  ExitFunction
 EndIf
 IfCStr(m_intId)="-1"Then
  EditToXml=False
  AddErr"未准确设置接洽人工具的ID属性"
  ExitFunction
 EndIf
 SetobjPersonList=objXmlDoc.getElementsByTagName("Person")
 IfobjPersonList.length-m_intId<0Then
  DeleteFromXml=False
  AddErr"未找到响应的接洽人"
  SetobjPersonList=Nothing
  ExitFunction
 EndIf
 SetobjOldPerson=objPersonList(m_intId-1)要修正的旧节点
 SetobjNewPerson=objXmlDoc.createElement("Person")用来交换旧节点的新节点
 SetobjNode=objXmlDoc.createElement("Name")
 objNode.Text=m_strName
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Nick")
 objNode.Text=m_strNick
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Mobile")
 objNode.Text=m_strMobile
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Tel")
 objNode.Text=m_strTel
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Email")
 objNode.Text=m_strEmail
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("QQ")
 objNode.Text=m_strQQ
 objNewPerson.appendChildobjNode
 SetobjNode=objXmlDoc.createElement("Company")
 objNode.Text=m_strCompany
 objNewPerson.appendChildobjNode
 OnErrorResumeNext
 举行交换
 SetobjNode=objXmlDoc.documentElement.replaceChild(objNewPerson,objOldPerson)
 IfobjNodeIsNothingThen
 EditToXml=False
 AddErr"修正接洽人失利"
 SetobjOldPerosn=Nothing
 SetobjNewPerson=Nothing
 SetobjPersonList=Nothing
 ExitFunction
Else
 objXmlDoc.saveServer.MapPath(C_XMLFILE)
EndIf
SetobjOldPerson=Nothing
SetobjNewPerson=Nothing
SetobjPersonList=Nothing
IfErr.Number=0Then
 EditToXml=True
Else
 EditToXml=False
 AddErrErr.Description
EndIf
EndFunction
EndClass
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。
爱飞 该用户已被删除
沙发
发表于 2015-1-21 12:16:59 | 只看该作者
尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
分手快乐 该用户已被删除
板凳
发表于 2015-1-30 17:45:21 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
深爱那片海 该用户已被删除
地板
发表于 2015-2-6 14:40:20 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:
只想知道 该用户已被删除
5#
发表于 2015-2-16 15:55:44 | 只看该作者
我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
简单生活 该用户已被删除
6#
发表于 2015-3-5 07:29:38 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
不帅 该用户已被删除
7#
发表于 2015-3-12 00:32:18 | 只看该作者
Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件
谁可相欹 该用户已被删除
8#
发表于 2015-3-19 17:15:27 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
9#
发表于 2015-3-29 16:49:24 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-29 03:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表