zoukankan      html  css  js  c++  java
  • SAX解析与DOM解析对比

    DOM:即Document Object Model,属于文档驱动。解析处理XML文件时,需要读取整个XML文档,存在内存中并建立DOM树,生成DOM树上的每个Node对象。DOM树生成后,可以随意存放或读取文件树的任何部分,并且可以重复读取,没有次数限制。

    SAX:即Simple Api for XML,属于事件驱动,不需要读入整个文档,读入文档的过程也是SAX解析的过程,事件驱动是指一种基于回调(callback)机制的程序运行方法。SAX对内存要求比较低,因为它让开发人员自己决定所要处理的标签,尤其是当开大人员需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。

    综上:

         DOM优缺点:可以读取以及修改文件树任何部分,但是由于解析之前需要把文档存至内存中并生成文档树(生成文档树比较耗时),所以解析速度较慢以及占用内存较大,适合解析中小型文档。

      SAX优缺点:只能顺序访问读取,不能修改,可以部分读取文档,故解析速度快,适合解析大型文档,但由于需要建立自己额XML对象模型,增加了开发难度。

  • 相关阅读:
    c# 对文件操作
    c# 获取当前绝对路径
    c# 过滤特殊字符
    c# txt代码转换成HTML格式
    c# 对象集合转Json
    c# DataReader转换为Json
    c# DataSet转换为Json
    ABAP-SAP的LUW和DB的LUW的区别
    ABAP-关于隐式与显式的DB Commit
    ABAP-Keyword Documentation
  • 原文地址:https://www.cnblogs.com/crazybuddy/p/5369786.html
Copyright © 2011-2022 走看看