| 网站首页 | 建站学院 | 资源下载 | 建站教程 | 图片素材 | 网贝社区 | 
您现在的位置: 网贝建站 >> 建站学院 >> JSP技术 >> XML >> 正文 用户登录 新用户注册
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
没有相关文章
[图文]XML及其技术指南       ★★★★
XML及其技术指南
作者:Brian 文章来源:yesky 点击数: 更新时间:2004-9-11 11:20:14

  处理器(API)技术

  我们在前面已经提过了,为了有效的使用XML,你必须通过编程来访问数据。我们将一个能访问XML文档同时又能提供对其内容和数据结构进行访问的软件模块称为一个XML处理器或是一个XML API。

  虽然开发者完全有自由去开发或使用他们自己的XML API,但从他们的利益出发,我还是建议他们使用行业标准的API。因为只有接受了行业标准的API,开发者写出的代码可以无需修改便能在其他的环境中顺利执行。

  目前有两种主要的API已经得到了广大开发者的广泛使用,即将成为未来的行业标准。它们分别是:DOM(Document Object Model)和SAX(Simple API for XML)。

  DOM 文档对象模型

  文档对象模型是一种通过编程方式对XML文档中数据及结构进行访问的标准。W3C已经同意将其列为未来行业标准第一等级规范的推荐对象。

  DOM是基于XML文档在内存中的树状结构。当一个XML文件被装入到处理器中时,内存中建立起一棵相应的树(见图1)。DOM还定义了用来遍历一棵XML树和管理各个元素、值和属性的编程接口(包括方法和属性的名字)。



Figure 1. XML in-memory representation

  MSXML 2.0完全支持DOM并提供了一个易用的对象模型与内存中树进行交互。下面是一个简单的VB例子,它演示了如何用MSXML来遍历一颗树的所有子元素。

Set xmlDoc = CreateObject("MSXML.DOMDocument")
bSuccess = xmlDoc.load("hamburger.xml")
If bSuccess Then
 For Each node in xmlDoc.documentElement.childNodes
  val = node.text
 Next
End If

  SAX

  DOM标准的一个主要不足在于将整个XML文档装入内存所引起的巨大开销。当文件的数据量非常大时,这会给我们带来一些问题。当你在内部网或是因特网上传输如此巨大的XML文件时,你可能等不及所有的文件传输结束就开始处理数据。很多XML的开发者已经意识到这一点,于是他们一起努力(从XML-DEV邮件列表开始)开始创立另一种新的标准。这就是SAX。虽然SAX还处于发展的初期,但因为它出色的性能,它正快速的得到大家的欢迎。

  SAX是一种非常简单的XML API(正如它的名字那样,Simple API for XML),它允许开发者使用事件驱动的XML解析。与DOM不同,SAX并不要求将整个XML文件一起装入内存。它的想法十分的简单,一旦XML处理器完成对XML元素的操作,它就立刻调用一个你自定义一个事件处理器及时的处理这个元素和相关数据。这样做虽然能极大的提高效率,但也会造成一定的问题。比如说,开发者将不得不在灵活性上受到限制。如果你想了解更为详细的资料,请访问http://www.megginson.com/SAX/sax.html。

上一页  [1] [2] [3] [4] [5] [6] [7] 下一页

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)