xml概述

 1. 什么是xml文件?
     xml:可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 
 2. xml的特点
    可以跨越互联网任何的平台,不受编程语言和操作系统的限制。可扩展性良好,内容与形式分离,遵循严格的语法要求,保值性良好等优点,是可扩展的标记语言,主要用途作为配置文件和网络传输数据。
 3. xml文件组成

  xml是由文档声明,指令,标签,属性和文本组成

  •  文档声明般是xml文档的第一行,包含xml版本信息及字符编码方式

 

  •     处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。 
  •     标签:标签名称自定义的规则:

            * 名称可以包含字母、数字以及其他的字符 
            * 名称不能以数字或者标点符号开始 
            * 名称不能以字母 xml(或者 XML、Xml 等等)开始 
            * 名称不能包含空格

  •  属性:id属性值唯一
  •  文本:XML 文档中的所有文本均会被解析器解析,只有 CDATA 区段中的文本会被解析器。

 4. 解析器
    XML 解析器,会解析 XML 文档中所有的文本。当某个 XML 元素被解析时,其标签之间的文本也会被解析。
    在xml中,解析器进行解析的内容,称为PCDATA(Parsed CDATA),解析器不会解析的内容,称为CDATA,(Character Data)。
    在一些情况下,我们在xml中编写的特殊内容,例如特殊字符、代码等,并不希望解析器去解析,而是希望把这些内容按字符串原样输出即可,不需要做额外任何解析处理。这时候,我们就可以把这些内容,写在指定的CDATA区域内即可。
      
 5. 约束
        规定XML文档的书写规则,作为框架的使用者能够在xml中引入约束文档;能够简单的读懂xml文档。

  • DTD(Documnet Type Definition)

    DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。DTD是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性、可使用的实体或符号规则。

  • XSD(XML Schemas Definition)

        XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。

        一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认 和固定值。
        XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。

  • 区别

DTD是使用非XML语法编写的,不可扩展,不支持命名空间,只提供非常有限的数据类型.
XSD(XML Schema)本身就是一个xml文件,他基于xml没有专门的语法,可以同XML文件一样解析和处理;提供了更丰富的数据类型,提供了可扩充的数据模型。

一般在使用过程中,由于DTD方式结果中会将xml文件展开为类似DOM树的文件,从而会占用大量内存空间,而XSD通过一行一行解析的方式进行,耗用内存空间较小。故在移动端常用XSD方式进行解析,服务器端常用DTD方式解析。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值