ASP读取XML数据的实现

来源 :硅谷 | 被引量 : 0次 | 上传用户:a285074984
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]ASP读取XML数据是开发过程中经常遇到的一个难题,具体介绍ASP读取XML数据的实现方法。
  [关键词]ASP 读取 XML 方法
  中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0510032-01
  
  一、引言
  
  ASP是Web服务器端的开发环境,利用它可以产生和执行动态的、互动的、高性能的Web服务应用程序,在ASP文件中访问数据库是最常用的操作,而扩展标记语言XML从本质上看就是数据库,它是自描述性的,可交换的,能够以树状或图形结构描述数据。用XML文件存取数据,可以减少额外的服务器负荷,而且XML文件编写、备份和下载都很容易。ASP读取XML数据有多种方法。
  
  二、ASP读取XML数据的方法
  
  (一)创建MSXML对象,并且将XML文档载入DOM。为了在ASP中使用DOM,需要创建一个DOM对象,然后加载XML文档。在XML文档加载之前,需设置validateOnParse属性为true,这可确保被加载的文档为有效的XML文档,从而可以避免后面遇到的各种麻烦,实例代码片段如下:
  Set objxml=Server.CreateObject("MicrosoftXMLDOM")
  Objxml.validateOnParse=true
  Objxml.load(Server.Mappath("example.xml"))
  Set objrootelement=objxml.documentElement
  (二)使用服务器端嵌入。服务器端嵌入可用于将XML文档代码插入ASP页面,如同处理任何其它基于文本的文档一样。使用这种方法的唯一问题是,XML代码不是在服务器端分析,而是作为XML直接发送至客户端。如果有意在客户端创建一个XML数据岛,这种方法是可以接受的。但在大多数情况下,浏览器忽略这种标记,因此,分析结果将毫无用处。
  一个例外情形是,SSI代码是用HTML标记组成的XML文档。例如下列描述一本书籍信息的XML文档book.xml:
  <?xml version="1.0"?>
  <book bookid="123-4567-892">
   <p>title:Breakfast</p>
   <p>pubdate:2008-10-20</p>
  </book>
  这里<book>标记是用户自定义标记,浏览器并不认识,因此,它完全忽略。然而,<p></p>是标准的XML标记,可以被浏览器理解,于是被正确处理。例如,在下列ASP文件代码片段中嵌入了book.xml:
  <%@language="vbscript"%>
  …
  <body>
  <!--#include file="book.xml"-->
  </body>
  …
  运行这个页面,XML将被无缝嵌入,实现了服务器端嵌入XML数据。
  (三)使用FileSystemObject访问XML文档。FileSystemObject是在ASP页面中访问文本文件的标准方法,由于XML文档是基于文本的,所以,可以用它来打开文档。虽然MSXML处理程序有一个用于打开XML文档的load方法,可以代替FileSystemObject来完成相同的任务,但是在有些场合,如没有真正加载文档的条件下,需要使用FileSystemObject来访问XML文档,并执行一个操作,如检查文件中的Attributes。
  例如,一个简单的文本搜索程序,简化后的代码如下:
  dim fso,file,XMLStr,path
  set fso=CreateObject("Scripting.FileSystemObject")
  path=server.Mappath("book.xml")
  set file=fso.OpenTextFile(path)
  XMLStr=file.ReadAll
  file.Close
  if InStr(XMLStr,"Breakfast")>0 then
  Response.write "Text is found!"
  else
  Response.write "Could not find the text!"
  end if
  set fso=nothing
  (四)在客户端创建数据岛。数据岛是服务器和客户机之间进行数据传递的一种方式。它存在于HTML网页中,是一段XML代码。XML数据岛在HTML中形成了一个数据的集合,通过特定的标签把XML数据直接嵌入到HTML文档中。数据岛有特有的形式,由标记<XML>开始,在开始标记中要有一个ID属性,用于指定该数据岛的名称,最后还要以</XML>结束。在客户端创建数据岛有两种形式,一种为内嵌的数据岛,即直接把XML文档片段嵌入ASP程序,下面代码片段通过一个实例来实现内嵌数据岛:
  <xml id="example">
   <book bookid="123-4567-892">
   <title>Breakfast</title >
   <pubdate>2008-10-20</pubdate >
  </book>
  </xml>
  <body>
  <table datasrc="# example">
  <tr>
   <td><span DATAFLD="title"></span></td>
   <td><span DATAFLD="pubdate"></span></td>
  </tr>
  </table>
  </body>
  如上例所示,用datasrc绑定数据岛的时候,需要在已定义的数据岛名称前加“#”,绑定具体元素时,用DATAFLD就可以了。另一种是外嵌的数据岛,形式为:<xml id="example"src="book.xml"></xml>
  外嵌数据岛绑定元素的方法同内嵌数据岛是一样的,只是在定义数据岛的时候,需要指明嵌入的XML文件的路径及名称,具体实现代码从略。
  
  三、总结
  
  本文详细阐述了ASP读取XML数据的四种方法的实现过程,当然,方法不是只有这几种,更多的方法需要我们进一步探讨和实践,这样我们才能更好的利用ASP、XML等相关的技术。
  
  参考文献:
  [1]吴洁,XML应用教程,北京:清华大学出版社,2005.12.
  [2]丁跃潮等,XML实用教程,北京:北京大学出版社,2006.10.
  [3]尚俊杰,网络程序设计-ASP,北京:清华大学出版社,2006.12.
其他文献
[摘要]语文教学要取得高效,在授课时架设情境的阶梯,这样才能完美地理解课文以及生活。不脱离教材为前提驱动学生进行网络情境下的自主学习,使课堂开放化、情境化、教学生活化。  [关键词]语文教学 高效  中图分类号:G42 文献标识码:A 文章编号:1671—7597(2009)0620143-01    语文学科培养人们的语言能力、思维能力,但是传统的教学重教不重学。重授不重疑,重传承不重创新,枯燥
期刊
[摘要]以公路工程常规试验实践教学为具体内容,利用Authorware軟件平台,采用设计图标和流程线制作方法,论述课件模块体系构建思路、多媒体素材准备和制作技巧以及课件的编辑合成与打包方法,从而形成交互式的实践教学课件系统。  [关键词]软件Authorware实践教学课件  中图分类号:G71 文献标识码:A 文章编号:1671-7597(2009)0620139—02    注:本文中所涉及到
期刊
[摘要]分析“挑战杯”竞赛的选择工作的重要性,着重对选题的原则进行阐述,并对如何加强选题工作进行详细地分析,提出相应的对策。  [关键词]挑战杯 选题 创新  中图分类号:G24 文献标识码:A 文章编号:1671-7597(2009)0620190-01    “挑战杯”全国大学生课外学术科技作品竞赛是由共青团中央、中国科协、教育部、全国学联主办,国内著名大学和新闻单位联合发起,在国家教育部支持
期刊
[摘要]乡村旅游系统作为一个巨系统,其发展不是在短时间内一簇而成,而是一个螺旋式的推进发展过程。从螺旋式推进方法入手,系统分析重庆市乡村旅游发展的背景及发展瓶颈,在此基础上提出重庆市乡村旅游发展推进策略,并进行多系多组双螺旋推进方法的诊断,系统思考螺旋式推进方法在重庆市乡村旅游发展中的作用。  [关键词]螺旋式推进 乡村旅游 重庆市 战略  中图分类号:F719 文献标识码:A 文章编号:1671
期刊
[摘要]针对德国HAUNI公司的嘴棒发射机的原电控系统采用早期的逻辑电路控制,电气元件繁多,使用年限已久,零配件采购困难且价格昂贵,故障隐患多,维修难度大,故提出并进行了发射机组的改造。系统软件采用西门子STEP7编制,通过PLC控制变频器的启动/停止,通过接口模块控制分布式I/O的运行。使机组线路简单明了,维护起来比较方便;降低故障发生率,提高机器性能;通过特有的故障显示功能,提高操作人员对机器
期刊
[摘要]介绍一个以XC2S200为核心的视频信号滤波处理系统,该系统为水下图像目标识别和监控提供了一种解决方案,它采用共轭算法对图像进行统一、高效的全局变换,滤波增强效率更高,并且采用Xilinx公司的FPGA芯片XC2S200位处理核心,使得该系统结构紧凑,配置灵活,便于携带。该系统可实时使水下昏暗、模糊的视频图像获得较好的噪声滤波效果,并输出给液晶显示器显示。可应用于水下场景监测或监控,具有很
期刊
[摘要]详细研究对增量式光电编码器脉冲信号进行细分、计数以及传输的基于FPGA(现场可编程逻辑阵列)的接口电路。采用以高度集成的FPGA芯片为核心的设计方式,实现增量式光电编码器对信号的处理。编码器输出的数据在FPGA芯片中进行细分、辨向、计数等传输处理,最后所得的数据经寄存器存储。验证光电编码器FPGA接口信号处理系统的可行性。  [关键词]FPGA 光电编码器 接口 信号  中图分类号:TP3
期刊
[摘要]介绍采用Atmega64单片机和128×64点阵液晶模块设计的老化控制器。针对老化时间、老化环境以及产品一些功能的老化的实现,重点讲述了这种控制器的继电器输出,键盘输入,并通过点阵液晶显示控制器的工作状态(显示计次次数、工作状态、剩余老化时间、日期与时间),当老化结束时,电路能够自动断电。给出系统的软、硬件实现方案。  [关键词]老化控制器 Atmega64 点阵液晶显示 矩阵按键  中图
期刊
[摘要]介绍多媒体CAl系统的在教学中的应用,针对当前CAI的开发技术,提出设计和制作方法。与单纯的图文教程相比,生动活泼的视频多媒体教程更容易吸引学生注意力,让学习过程更加轻松有趣。  [关键词]CAI 开发 多媒体 制作  中图分类号:G43 文献标识码:A 文章编号:1671-7597(2009)0620106-02    CAI,即计算机辅助教学。它是利用计算机将文字、图形、图像、动画、声
期刊
[摘要]江都三站更新改造工程选用WKLF-102B双微机型晶闸管励磁装置,该装置具有起动平稳、操作方便、运行可靠等优点,同时还能对实时参数液晶显示,支持在线修改、事件记录等技术特性。介绍了江都三站改造前的现状及改造后励磁装置的组成、技术特性等。  [关键词]晶闸管 双微机型 励磁 大型泵站 应用  中图分类号:TN2文献标识码:A文章编号:1671-7597(2009)0510028-01    
期刊