主要的数据交换格式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文档作为一棵树状结构进行分析,获取节点的内容以及相关属性,或是新增,删除和修改节点的内容。如果文档比较大,解析速度会比较慢。
- 主要的数据交换格式XML与JASON
- Android 写Jason格式的数据
- webservices数据交换-xml格式
- Fushion Chart 结合jason和xml格式数据使用示例
- 关于数据交换格式XML和JSON的比较
- 于数据交换格式XML和JSON的比较
- xliff XML本地化数据交换格式
- 数据交换格式XML和JSON对比
- xliff XML本地化数据交换格式
- xliff XML本地化数据交换格式
- xliff XML本地化数据交换格式
- xliff XML本地化数据交换格式
- 数据交换格式XML和JSON对比
- iOS 中 XML 数据交换格式
- iOS中的XML数据解析交换格式
- 数据交换格式XML和JSON对比
- (ios)xml数据交换格式
- 数据交换格式XML和JSON对比
- 循环问题、数组
- C/C++ strtok
- 选择项目管理工具,请避开这六大雷区
- PHP四种定界符
- 抽象类和接口的区别
- 主要的数据交换格式XML与JASON
- 位操作-leetcode 268 Missing Number
- POJ_2082_Terrible Sets
- 方法、猜字母游戏
- java调用python
- 微信小程序+WEB使用JS实现注册【60s】倒计时功能
- C++返回值引用
- jdbc连接mysql,oracle的URL和DriverClass
- POJ 2823 Sliding Window