知识大全 实例演练ASP+XML编程

Posted 文件

篇首语:不怕学问浅,就怕志气短。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 实例演练ASP+XML编程相关的知识,希望对你有一定的参考价值。

掌握XML:实例演练ASP+XML编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  此文是一篇实例讲解的文章 作为一个普通的程序员 我深知 一个优秀的例程 对于正在学习编程的人是多么的有帮助 本文中使用的例程 是一个联系信息管理程序 我也是写来以方便自己和朋友们互相联系用的 但麻雀虽小 五脏俱全 相信对正在学习ASP+XML编程的朋友们 还是具备一定的参考价值的

  读者可以通过此实例 了解在ASP(Active Server Page)中如何操纵XML文件 并进行数据的各种处理 包括XML节点的建立 修改 删除和保存等等 文中涉及到的技术包括ASP VBScript DOM XML和XSL等

  本文未对使用到的技术进行深入的理论介绍 因此 读者需要具备一定的相关知识 尤其是对ASP XML和DOM应该有一定的了解 通读本文 并参考源代码 相信读者一定可以熟练地掌握XML编程

  一 程序说明

  例程基于B/S结构 使用XML文件存储联系信息 然后通过一个VBScript写的Class 使用DOM 对XML文件中的联系信息进行各种操作

  例程提供的代码采用了统一的命名规范 主要包括 用三个字母的缩写说明变量类型 如数字类型——int 字符串类型——str 对象——obj 等等 虽然在ASP/VBScript中 不区分数据类型 但使用明显的数据类型说明 对程序的编写和维护还是很有意义的 使用有意义的变量名称 如XMLDocument对象 定义为objXmlDoc 等等 同样 这样做的也是为了更好地编写和维护程序

  此程序可以分为后台数据处理和前台界面表现两部分

  程序后台 使用VBScript编写了一个Class 这是在VBScript 版中提供的新特性 虽然这里Class的概念和真正的面向对象相去甚远 但是 在ASP中合理地使用Class 还是可以在一定程度上提高程序的运行效率和可维护性

  前台表现 使用XSL对XML文件中的数据进行了格式化 然后以HTML的形式输出到客户端 充分体现了XML技术带来的灵活性与可定制性 格式化的过程放在了服务器端 使用ASP程序完成 这样 客户端得到的是经过格式化之后的HTML信息 避免了兼容性问题的出现

  当然 程序对于具体的操作细节未作非常严格的检验 比如联系信息必填项的检查 但是 对于在ASP中使用DOM操作XML的有关部分 程序提供了完整的示例代码

  二 XML文件说明(persons xml)

  例程中使用到的XML文件结构十分简单 并且没有定义相关的Schema或者DTD 因为 对于此程序这是不必要的 当然 如果读者愿意自己定义一个的话 也不会对程序的运行产生影响

  程序的数据结构定义如下 Persons集合 它包含多个Person对象 每一个Person对象包括姓名Name 英文名Nick 手机Mobile 电话Tel 电子邮件Email 腾讯QQ和所在公司Company的属性 将以上定义对应到XML文件即 Persons为根节点 Person为Persons的子节点 Name Nick Mobile Tel Email QQ和Company为Person的子节点

  这样 我们得到的XML文件内容如下

  

  <?xml version= encoding= gb ?>  <Persons>  <Person>  <Name>小东</Name>  <Nick>gwd</Nick>  <Mobile> XXXXXXXX</Mobile>  <Tel>XXXXXXXX</Tel>  <Email></Email>  <QQ> </QQ>  <Company>XXX</Company>  <Person>  </Person>

  读者需要注意<?xml version= encoding= gb ?>这一行 XML默认不支持中文 通过设置encoding属性 才可以使XML正确地显示中文 读者可以在IE 及以上版本的浏览器中访问此文件 它会以 树型结构把数据显示出来

  三 格式转换XSL文件说明(Persons xsl)

  例程中使用XSL对XMl数据进行格式化 并以HTML的形式返回到客户端 这个过程也可以放在客户端进行 但考虑到兼容性的问题 例程中采用了在服务器端通过ASP操纵DOM进行格式化的方法

  XSL文件的内容如下

  

  <?xml version= encoding= gb ?>  <xsl:stylesheet xmlns:xsl= rsion= >  <xsl:template match= /Persons >  <script language= javascript >  function add()    window open( add asp add width= height= resize=no );      function edit(intId)    window open( edit asp?id= +intId edit width= height= resize=no );    </script>  <table width= border= align= center >  <tr>  <td align= right ><a javascript:add(); title= 添加新联系人 >添加新联系人</a>  </td>  </tr>  </table>    <table align= center width= cellspacing= cellpadding= border= bgcolor= # >  <tr class= title bgcolor= #E E E >  <td width= ><xsl:text disable output escaping= yes >&</xsl:text>nbsp;</td>  <td>姓名</td>  <td>英文名</td>  <td>手机</td>  <td>电话</td>  <td>Email</td>  <td>QQ</td>  <td>所在公司</td>  </tr>  <xsl:for each select= Person >  <TR BGCOLOR= #FFFFFF >  <TD ALIGN= right ><xsl:value of select= position() /></TD>  <TD STYLE= color:# ><A><xsl:attribute name= HREF >javascript:edit( <xsl:value of select= position() /> );</xsl:attribute><xsl:attribute name= title >修改信息  </xsl:attribute><xsl:value of select= Name /></A></TD>  <TD><xsl:value of select= Nick /></TD>  <TD><xsl:value of select= Mobile /></TD>  <TD><xsl:value of select= Tel /></TD>  <TD><A><xsl:attribute name= HREF >mailto:<xsl:value of select= Email /></xsl:attribute><xsl:value of select= Email /></A> </TD>  <TD><xsl:value of select= QQ /></TD>  <TD><xsl:value of select= Company /></TD>  </TR>  </xsl:for each>  </table>  </xsl:template>  </xsl:stylesheet>    在服务器端的转换使用一个函数来完成 格式化成功 返回HTML字符串 格式化失败 打印出错误信息 如下      *******************************************   说明 使用XSL文件格式化XML文件    作者 gwd    参数 strXmlFile Xml文件 路径+文件名   strXslFile Xsl文件 路径+文件名   返回 成功 格式化后的HTML字符串   失败 自定义的错误信息   *******************************************  Function FormatXml(strXmlFile strXslFile)  Dim objXml objXsl    strXmlFile = Server MapPath(strXmlFile)  strXslFile = Server MapPath(strXslFile)    Set objXml = Server CreateObject( MSXML DOMDocument )  Set objXsl = Server CreateObject( MSXML DOMDocument )    objXML Async = False  If objXml Load(strXmlFile) Then  objXsl Async = False  objXsl ValidateonParse = False  If objXsl Load(strXslFile) Then  On Error Resume Next 捕获transformNode方法的错误  FormatXml = objXml transformNode(objXsl)  If objXsl parseError errorCode <> Then  Response Write <hr>   Response Write Error Code: & objXsl parseError errorCode  Response Write Error Reason: & objXsl parseError reason  Response Write Error Line: & objXsl parseError line  FormatXml = <span class= alert >格式化XML文件错误!</span>   End If  Else  Response Write <hr>   Response Write Error Code: & objXsl parseError errorCode  Response Write Error Reason: & objXsl parseError reason  Response Write Error Line: & objXsl parseError line  FormatXml = <span class= alert >装载XSL文件错误!</span>   End If  Else  Response Write <hr>   Response Write Error Code: & objXml parseError errorCode  Response Write Error Reason: & objXml parseError reason  Response Write Error Line: & objXml parseError line  FormatXml = <span class= alert >装载XML文件错误!</span>   End If    Set objXsl = Nothing  Set objXml = Nothing  End Function

  四 操作Xml数据的Cls_Person类说明(clsPerson asp)

cha138/Article/program/net/201311/12371

相关参考

知识大全 ASP实例:读取xml文件的程序

ASP实例:读取xml文件的程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!strSourceF

知识大全 asp.net 将一个图片以二进制值的形式存入Xml文件中的实例代码

asp.net将一个图片以二进制值的形式存入Xml文件中的实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一

知识大全 ASP编程进行参数化查新实例代码

ASP编程进行参数化查新实例代码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixinzh

知识大全 asp 函数与asp过程实例教程

  asp函数与asp过程提供了一种方法来创建重新编程代码可用模块和避免重写的代码每次您执行特定任务同一个块如果你没有任何职能/ASP页中的程序ASP页从上到下执行时ASP解析引擎只是处理从开始到结束

知识大全 Web XML编程之显示XML文件内容

WebXML编程之显示XML文件内容  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  XML技术越

知识大全 简析Delphi中的XML编程

简析Delphi中的XML编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  XML(eXten

知识大全 C# XML序列化实例浅析

C#XML序列化实例浅析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  实现C#XML序列化技术

知识大全 在C#.net中操作XML实例

在C#.net中操作XML实例  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在中如何操作XML

知识大全 用PHP与XML联手进行网站编程

用PHP与XML联手进行网站编程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一小序 

知识大全 用PHP与XML联手进行网站编程[1]

用PHP与XML联手进行网站编程[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一小序