XML的解析模式的比较

       XML有两种处理的方式:基于树的和基于事件的。很多Xml解析器包括MSXML的最新版本,对两种模型都是支持的。基于树的解析器通常也称为DOM(文档对象模型)解析器,而基于事件的解析器通常被称为SAX(XML简单的应用程序接口)解析器。二者都是以他们支持的规则去命名的。

       DOM是W3C推荐的XML文档应用编程接口(API)的标准。所有的应用程序都可以使用这个API来操作XML,读取信息、添加节点以及编辑当前的内容。关于这个推荐标准可以在http://www.w3.org/TR.REC-DOM-Level-1/中了解更多的内容。

       SAX并不是W3C的推荐标准,但也得到很多软件公司的支持。基于SAX的解析器顺序地读取XML文档,当他遇到文档的重要部分时会触发事件,比如在元素的起始或结束位置。在http://www.saxproject.org/中可以获取更多的内容。

       两种模型的处理方式的优点比教:

       基于DOM的解析提供了对XML文档的完整的读写访问,并且可以通过遍历文档树对文档内的节点进行访问。他可以对照DTD或XML模式来判断一个文档是否有效。

       然而基于DOM的解析必须将XML的文档全部读入内存,所以当遇到较大的XML文档时,DOM的解析机制可能会变得缓慢并且比较消耗内存。但是实际工作中,我们是很难判断何种XML的文档才是过大的。

      对于SAX的解析机制是串行操作的,一个节点被处理后就被丢弃了,并且不会再被处理。整个文档不会一次性的被读入内存,这样可以避免由于文档过大而引起的处理问题。这种处理方法将由用户负责保存XML文档中的可供后续使用的信息

      举例来说,对于一个通信系统的中间路由程序来说,SAX是理想的,一个读入的XML文档通常只有一个很小的路由首部信息,但需要发送到终点的文档却是很大的。使用SAX模型时,路由设备可以仅读路由信息而忽略掉整个文档,因为文档本身与传送并无太大关系,然而DOM机制却需要在读取整个文档才可以将之送入到终点。

    

 

     以上内容简要描述了XML的两种处理模型,希望对大家理解XML有所帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值