主要的数据交换格式XML与JASON

来源:互联网 发布:db2 设置数据库编码 编辑:程序博客网 时间:2024/05/26 08:43

     数据交换格式就像两个人在聊天一样,采用彼此都听得懂的语言。其中的语言就相当于通信中的数据交换格式。数据交换格式主要分为纯文本格式XML格式JSON格式,其中纯文本格式是一种简单的,无格式的数据交换方式。

例如:我们用纯文本格式描述留言条,可以按照如下的形式:

         “小A同学”,“你好!\n今天上午,我想到你家里借一本书,可是你不在,我下午再来”,“小B”,“2017年7月2日”

留言条中的4部分数据按照顺序存放,各个部分之间用逗号分隔。数据量小的时候,可以采用这种格式。但是随着数据量的增加,问题也会暴露出来,我们可能搞乱它们的顺序,如果各个数据部分能有描述信息就好了。而XML格式和JSON格式可以带有信息描述,她们叫做“自描述的”结构化文档。


将上面的留言条学成XML格式,具体如下:

<?xml version="1.0" encoding="UTF-8"?>

<note>

         <to>小A同学</to>

        <content>你好!\n今天上午,我想到你家里借一本书,可是你不在,我下午再来</content>

        <from>小B</from>

        <date>2017年7月2日</date>

</note>

我们看到位于尖括号中的内容(<to>...</to>等)就是描述数据的标识,在XML中称为“标签”。


将上面的留言条学成JSON格式,具体如下:

{to:"小A同学",content:"你好!\n今天上午,我想到你家里借一本书,可是你不在,我下午再来",from:"小B",date:"2017年7月2日"}

数据放置在大括号{}之中,每个数据项目之前都有一个描述名字(如to等),描述名字和数据项目之间用冒号分开。

       可以发现,一般来讲,JSON所用的字节数要比XML烧,因此JSON也被称为“轻量级”的数据交换格式。

XML文档结构

XML文档的基本架构可以分为下面几部分:

(1)声明:<?xml version="1.0" encoding="UTF-8"?>就是XML文档的声明,它定义了XML文件的版本和使用的字符集。

(2)根元素:根元素只有一个,开始标签和结束标签必须一致。如上面的<note>

  (3)  子元素:前面的to,content,from和date都是子元素

(4)属性:属性定义在开始标签中。如<note id="1">

  (5)  命名空间:用于为XML文档提供名字唯一的元素和属性。以xmlns:开头的内容都属于命名空间。

(6)限定名:它是由命名空间引出的概念,定义了元素和属性的合法标识符。

解释XML文档

       XML文档操作有“读”与“写”,读入XML文档并分析的过程称为“解析”。解析XML文档时,目前有两种流行的模式:SAX和DOM。SAX是一种基于事件驱动的解析模式。解析XML文档时,程序从上到下读取XML文档,如果遇到开始标签,结束标签和属性等,就会触发相应的事件。但是只能读取XML文档,不能写入XML文档,而优点就是解析速度快。

      DOM模式将XML文档作为一棵树状结构进行分析,获取节点的内容以及相关属性,或是新增,删除和修改节点的内容。如果文档比较大,解析速度会比较慢。


原创粉丝点击