XML和JSon是ios解析文件的两种形式, 两种方法各有千秋.

  1>. XML分为SAX和DOM两种方式

    SAX是按顺序逐行读取文件, 查找到符合条件的内容时就会停止, 而DOM是讲内容一次性全部读取到内存中建立一个树状结构, 所以DOM不适合读取大型文件.

    DOM的弱点就是SAX的优点.SAX不必将所有内容添加到内存中, 但是他对文件按顺序读取一遍, 所以就导致了他不能对文件随意读取和修改,而DOM的树状结构可以对文件随意读取和修改.

SAX DOM
按顺序(逐行)读取文件                                          一次性将文件读入内存, 并建立一个树状结构
对文件只读入一次, 不能对文件随意的读取 可以对树状结构中的数据进行任意的存取, 并且没有次数限制
只能对文件进行读取, 不能修改   可对文件进行修改
开发比较困难, 要自己写事件控制器 易于开发
   

    上图中描述了SAX和DOM的不同。  

    SAX适于处理下面的问题:

      1、对大型文件进行处理;

      2、只需要文件夹的部分内容,或者只需从文件中得到特定信息。

      3、想建立自己的对象模型的时候。

    DOM适于处理下面的问题:

      1、需要对文件进行修改;

      2、需要随机对文件进行存取

    

  

    

SAX和DOM解析的区别的更多相关文章

  1. xml的SAX解析和dom解析的区别

    一,区别 DOM解析 SAX解析 原理: 一次性加载xml文档,不适合大容量的文件读取 原理: 加载一点,读取一点,处理一点.适合大容量文件的读取 DOM解析可以任意进行增删改成 SAX解析只能读取 ...

  2. SAX与DOM解析XML的区别

    解析xml有四种方法:DOM,SAX,DOM4j,JDOM.     我们主要学了两种:DOM和SAX.     DOM适于解析比较简单的XML而SAX则适于解析较复杂的XML文件.各有各的好. DO ...

  3. DOM的概念和简单应用:使用DOM解析XML数据

    概念:DOM是Document Object Model的简称,即文档数据模型. Oracle公司提供了JAXP(Java API for XML Processing)来解析XML.JAXP会把XM ...

  4. XML之DOM解析文档 Day24

    TestDom.java package com.sxt.dom; import java.io.File; import java.io.IOException; import javax.xml. ...

  5. DOM解析和SAX解析的区别

    DOM解析和SAX解析的区别 博客分类: XML DOM SAX  DOM解析和SAX解析的区别 No 区 别 DOM解析 SAX解析 1 操作 将所有文件读取到内存中形成DOM树,如果文件量过大,则 ...

  6. dom解析和sax解析的区别及优缺点

    dom解析一开始就将文档所有内容装入内存,每个元素(标签)都作为一个element对象存储,形成对象树,缺点是对内存占用大,不能解析数据量很大的文档:优点是方便进行crud操作. sax解析,逐行解析 ...

  7. 经典面试题:一张表区别DOM解析和SAX解析XML

                                                                                 ============DOM解析    vs ...

  8. Android系列--DOM、SAX、Pull解析XML

    您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客的最新动态. 如果文章内容对您有帮助, 不要忘记点击右下角的 推荐按钮 来支持一下哦 如果您对文章内 ...

  9. SAX解析与DOM解析

    SAX解析实例:http://www.iteye.com/topic/763895 Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类 ...

随机推荐

  1. unity3d随机地牢生成代码

    现在也是处于失业状态,碰巧看到个面试题是要用unity生成个随机地牢,就把做题过程中的思路和代码记录一下吧. 做完了以后我又想了一下,发现其实根本不需要这么麻烦,果然demo里的代码对我的思路影响还是 ...

  2. Flags-Ural1225简单递推

    Time limit: 1.0 second Memory limit: 64 MB On the Day of the Flag of Russia a shop-owner decided to ...

  3. 不用git将项目push到码云上

    1.在码云上创建一个项目: 2.打开STS(spring Tool Suite)   新建一个Maven(webapp)项目: 3.打开你的码云账号,把码云上的工程的URL复制: 4.重新在另一个目录 ...

  4. RK 61 键盘 Ubuntu 下键位映射修改方案

    在用户 Home 目录下面创建 .Xmodmap 文件,然后输入以下的内容: remove Lock = Caps_Lock remove Control = Control_L remove Con ...

  5. POSTMAN as debugger for integration APPs

    Chrome Menu: Window > Extensions > Postman - REST Client 0.8.4.10 起个标题,有空总结一下一个经验,关于Netsuite i ...

  6. [转]使用 Shell 对进程资源进行监控

    原文:http://www.ibm.com/developerworks/cn/linux/l-cn-shell-monitoring/ 使用 Shell 对进程资源进行监控 检查进程是否存在 在 对 ...

  7. Swift 语法

    三目运算        let p=10         let x:Int? =  12         let  m:Optional = 11         print(x!+p+m!)   ...

  8. Activty四种启动模式

    Activty启动提供了四种启动模式.launchMode: standard:每次启动新的活动窗口(new操作) singleTop:如果在栈顶是目标活动,则直接打开.否则开启新的活动窗口(new) ...

  9. 没人能阻止你,除了你自己——Keep up the good work!

    今天在网上搜索一些关于计算机专业的论坛或者博客,于是发现了博客园,就进来了.我想把我的一些关于计算机科学与技术领域的学习经历纪录在此,以便于能和大家一起分享,一起努力,一起进步.说实话我是临床医学专业 ...

  10. Mifare系列7-安全性(转)

    文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38087245 飞利浦的MIFARE卡 由于它的高安全性在市场上得到广泛应用,比如 ...