ASP+XML编程XML实例学习.pdf

上传人:asd****56 文档编号:70331156 上传时间:2023-01-19 格式:PDF 页数:5 大小:90.04KB
返回 下载 相关 举报
ASP+XML编程XML实例学习.pdf_第1页
第1页 / 共5页
ASP+XML编程XML实例学习.pdf_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《ASP+XML编程XML实例学习.pdf》由会员分享,可在线阅读,更多相关《ASP+XML编程XML实例学习.pdf(5页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、ASP+XMLASP+XML 编程编程 XMLXML 实例学习实例学习作为一个普通的程序员,我深知,一个优秀的例程,对于正在学习编程的人是多么的有帮助。本文中使用的例程,是一个联系信息管理程序,我也是写来以方便自己和朋友们互相联系用的。但麻雀虽小,五脏俱全,相信对正在学习 ASPXML 编程的朋友们,还是具备一定的参考价值的。读者可以通过此实例,了解在 ASP(Active Server Page)中如何操纵 XML 文件,并进行数据的各种处理,包括 XML 节点的建立、修改、删除和保存等等。文中涉及到的技术包括ASP,VBScript,DOM,XML 和 XSL 等。本文未对使用到的技术进行

2、深入的理论介绍,因此,读者需要具备一定的相关知识,尤其是对 ASP、XML 和 DOM 应该有一定的了解。通读本文,并参考源代码,相信读者一定可以熟练地掌握 XML 编程。一、程序说明例程基于 B/S 结构,使用 XML 文件存储联系信息,然后通过一个 VBScript 写的 Class,使用 DOM,对 XML 文件中的联系信息进行各种操作。例程提供的代码采用了统一的命名规范,主要包括:用三个字母的缩写说明变量类型,如数字类型int,字符串类型str,对象obj,等等,虽然在 ASP/VBScript 中,不区分数据类型,但使用明显的数据类型说明,对程序的编写和维护还是很有意义的;使用有意义

3、的变量名称,如 XMLDocument 对象,定义为 objXmlDoc,等等,同样,这样做的也是为了更好地编写和维护程序。此程序可以分为后台数据处理和前台界面表现两部分。程序后台,使用 VBScript 编写了一个 Class,这是在 VBScript5.0 版中提供的新特性。虽然这里 Class 的概念和真正的面向对象相去甚远,但是,在 ASP 中合理地使用 Class,还是可以在一定程度上提高程序的运行效率和可维护性。前台表现,使用 XSL 对 XML 文件中的数据进行了格式化,然后以 HTML 的形式输出到客户端,充分体现了 XML 技术带来的灵活性与可定制性。格式化的过程放在了服务器

4、端,使用ASP 程序完成,这样,客户端得到的是经过格式化之后的 HTML 信息,避免了兼容性问题的出现。当然,程序对于具体的操作细节未作非常严格的检验,比如联系信息必填项的检查,但是,对于在 ASP 中使用 DOM 操作 XML 的有关部分,程序提供了完整的示例代码。二、XML 文件说明(persons.xml)例程中使用到的 XML 文件结构十分简单,并且没有定义相关的 Schema 或者 DTD,因为,对于此程序这是不必要的。当然,如果读者愿意自己定义一个的话,也不会对程序的运行产生影响。程序的数据结构定义如下,Persons 集合,它包含多个 Person 对象,每一个 Person 对

5、象包括姓名 Name、英文名 Nick、手机 Mobile、电话 Tel、电子邮件 Email、腾讯 QQ 和所在公司 Company 的属性。将以上定义对应到 XML 文件即,Persons 为根节点,Person 为 Persons的子节点,Name、Nick、Mobile、Tel、Email、QQ 和 Company 为 Person 的子节点。这样,我们得到的 XML 文件内容如下:?xml version=1.0 encoding=gb2312?PersonsPersonName小东/NameNickgwd/NickMobile139XXXXXXXX/MobileTelXXXXXXX

6、X/TelE version=1.0 encoding=gb2312?这一行,XML 默认不支持中文,通过设置 encoding 属性,才可以使 XML 正确地显示中文。读者可以在 IE5.0 及以上版本的浏览器中访问此文件,它会以 树型结构把数据显示出来。三、格式转换 XSL 文件说明(Persons.xsl)例程中使用 XSL 对 XMl 数据进行格式化,并以 HTML 的形式返回到客户端。这个过程也可以放在客户端进行,但考虑到兼容性的问题,例程中采用了在服务器端通过 ASP 操纵 DOM进行格式化的方法。XSL 文件的内容如下,?xml version=1.0 encoding=gb23

7、12?xsl:stylesheetxmlns:xsl=http:/www.w3.org/1999/XSL/Transform.rsion=1.0 xsl:template match=/Personsscript language=javascriptfunction add()window.open(add.asp,add,width=300,height=320,resize=no);function edit(intId)window.open(edit.asp?id=+intId,edit,width=300,height=320,resize=no);/scripttable wid

8、th=600 border=0 align=centertrtd align=righta href=javascript:add();title=添加新联系人添加新联系人/a/td/tr/tabletable align=center width=680 cellspacing=1 cellpadding=2 border=0bgcolor=#666600tr class=title bgcolor=#E5E5E5td width=25xsl:text disable-output-escaping=yes&/xsl:textnbsp;/tdtd姓名/tdtd英文名/tdtd手机/tdtd电

9、话/tdtdEmail/tdtdQQ/tdtd所在公司/td/trxsl:for-each select=PersonTR BGCOLOR=#FFFFFFTD ALIGN=rightxsl:value-of select=position()/TD TDSTYLE=color:#990000 A xsl:attributename=HREF javascript:edit(xsl:value-of select=position()/);/xsl:attributexsl:attributename=title 修 改 信 息 /xsl:attribute xsl:value-ofselect

10、=Name/A/TDTDxsl:value-of select=Nick/TDTDxsl:value-of select=Mobile/TDTDxsl:value-of select=Tel/TD TD A xsl:attributename=HREF mailto:xsl:value-ofselect=Email/xsl:attributexsl:value-of select=Email/A/TDTDxsl:value-of select=QQ/TDTDxsl:value-of select=Company/TD/TR/xsl:for-each/table/xsl:template/xsl

11、:stylesheet在服务器端的转换使用一个函数来完成,格式化成功,返回 HTML 字符串,格式化失败,打印出错误信息,如下,*说明:使用 XSL 文件格式化 XML 文件。作者:gwd 2002-11-05 参数:strXmlFile-Xml 文件,路径文件名 strXslFile-Xsl 文件,路径文件名 返回:成功-格式化后的 HTML 字符串 失败-自定义的错误信息*Function FormatXml(strXmlFile,strXslFile)Dim objXml,objXslstrXmlFile=Server.MapPath(strXmlFile)strXslFile=Serv

12、er.MapPath(strXslFile)Set objXml=Server.CreateObject(MSXML2.DOMDocument)Set objXsl=Server.CreateObject(MSXML2.DOMDocument)objXML.Async=FalseIf objXml.Load(strXmlFile)ThenobjXsl.Async=FalseobjXsl.ValidateonParse=FalseIf objXsl.Load(strXslFile)ThenOn Error Resume Next 捕获 transformNode 方法的错误FormatXml=o

13、bjXml.transformNode(objXsl)If objXsl.parseError.errorCode 0 ThenResponse.Write hrResponse.Write Error Code:&objXsl.parseError.errorCodeResponse.Write Error Reason:&objXsl.parseError.reasonResponse.Write Error Line:&objXsl.parseError.lineFormatXml=span class=alert格式化 XML 文件错误!/spanEnd IfElseResponse.

14、Write hrResponse.Write Error Code:&objXsl.parseError.errorCodeResponse.Write Error Reason:&objXsl.parseError.reasonResponse.Write Error Line:&objXsl.parseError.lineFormatXml=span class=alert装载 XSL 文件错误!/spanEnd IfElseResponse.Write hrResponse.Write Error Code:&objXml.parseError.errorCodeResponse.Wri

15、te Error Reason:&objXml.parseError.reasonResponse.Write Error Line:&objXml.parseError.lineFormatXml=span class=alert装载 XML 文件错误!/spanEnd IfSet objXsl=NothingSet objXml=NothingEnd Function四、操作 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 四个主要方法,分别完成获取信正文:来自:谷融网址:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com