当前位置:首页 > 开发 > 编程语言 > XML > 正文

XML总结及Dom解析与SAX解析的对比。

发表于: 2014-10-10   作者:不打伞的蘑菇   来源:转载   浏览:
摘要: XML:eXtensible Markup Language它是万维网联盟定义的一种可扩展标志语言。可以很方便的表达多层结构的数据。并且可以多平台操作。xml中有严格的语法: 1.声明:<?xml  version="1.0"  encoding="UTF-8" standalone="no"?>

XML:eXtensible Markup Language
它是万维网联盟定义的一种可扩展标志语言。可以很方便的表达多层结构的数据。并且可以多平台操作。
xml中有严格的语法:
 1.声明:<?xml  version="1.0"  encoding="UTF-8" standalone="no"?>
 (其中version表示的是XML的版本号,encoding 表示的字符集,UTF-8字符集是一个支持字符和文字的Unicode 标准,ISO-8859-1 字符集则是大多数西欧语言用到的所有字符。)
 2.XML文件有且仅有一个根标记,其他标记必须封装在根标记中,文件的标记必须形成树状结构。标签必须成对出现。
<student>
 <stu num="20141010">
  <name>cc</name>
  <sex>n</sex>
 </stu>
 <stu>
  <name>cc</name>
  <sex>n</sex>
 </stu>
</student>
 3.元素。一个XML只有一个根元素,根元素下面的所有元素叫子元素
 4.属性。每一个元素的属性不允许出现超过一次。所有的属性值必须位于单引号或双引号中。
 5.注释。注释可以出现在文档的任何位置。注释以 <!-- 开始,以 -->  结束。
 6.实体。 XML 规范预定义了五个实体。
       &lt;   ==== <
       &gt;   ==== >
       &quot; ==== ”
       &apos; ==== ‘
       &amp;  ==== &
  当一段文本中出现很多实体引用和字符引用时,会导致文本数据的读写困难。可以使用CDATA区段开始于 "<![CDATA["  结束于  "]]>" 。CDATA内部的所有东西都会被解析器忽略解析,不用检查它的格式。

XML处理模式:
一、 DOM 文档对象模式
 以树型结构访问XML文档。 一棵DOM树包含全部元素节点和文本节点。可以前后遍历树中的每一个节点。整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能。
二、 SAX 基于事件处理模式
    解析器向一个事件处理程序发送事件,比如元素开始和元素结束,而事件处理器则处理该信息。然后应用程序本身就能够处理该数据。原始的文档仍然保留完好无损。

比较DOM与SAX:
    DOM:DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问,所以处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多。
    优点:1.提供随机定义元素操作,来回移动指针
         2.将整个XML文件一次性加载到内存,形成虚的内存树
    缺点:1.如果XML文件较大,内存空间占用较大
         2.强制将较大的XML文件加载到内存中,有可能损害文件
         3.功能通用性

    SAX:不同于DOM,SAX是事件驱动型的XML解析方式。它顺序逐行读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问。

 

 

 


 

XML总结及Dom解析与SAX解析的对比。

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在上一节我们已经介绍了XML的相关基本的知识,对XML的结构模型也有了相对的了解。对于XML的解析思想
==============================首先讲解DOM解析============================ 官方搞了个标准DOM,
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式
去年写过一篇关于C# XML文件操作的两种方式,但是没有给出样例代码,这里再次给出两种操作XML文件的
在android开发中,经常用到去解析xml文件,常见的解析xml的方式有一下三种:SAX、Pull、Dom解析方式
Url查看api url 读取内容为图片时使用字节流的读取方法示例 读取网站源代码时可以用字符读取方式示
您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以通过左下方的 关注按钮 来关注我的博客
一、介绍   dom是w3c指定的一套规范标准,核心是按树形结构处理数据,dom解析器读入xml文件并在内
本篇随笔将详细讲解如何在Android当中解析服务器端传过来的XML数据,这里将会介绍解析xml数据格式的
Android系列--DOM、SAX、Pull解析XML 您可以通过点击 右下角 的按钮 来对文章内容作出评价, 也可以
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号