数据交换格式就像两个人在聊天一样,采用彼此都听得懂的语言。其中的语言就相当于通信中的数据交换格式。数据交换格式主要分为纯文本格式,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相关推荐

  1. 于数据交换格式XML和JSON的比较

    目前,在web开发领域,主要的数据传输格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生:相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你之 ...

  2. Ajax--概述、xhr对象的常用属性和方法、xhr的常用事件、xhr对象发送POST请求、xhr对象发送GET请求、xhr对象的兼容性问题、数据交换格式(XML、JSON)

    一.概述 1.1 发展历程 在开始之前先来看一下Ajax的工作原理吧,如下图所示: Ajax全称Asynchronous javascript and xml(异步 JavaScript 和 XML) ...

  3. 前端与服务器通讯的数据交换格式XML 、JSON

    数据交换格式 就是服务器端与客户端之间进行数据传输与交换的格式. 前端领域,经常提及的两种数据交换格式分别是XML(使用较少)和JSON(主要) XML XML和HTML的区别 都是标记语言,但是,他 ...

  4. XML和JSON 数据交换格式

    为什么80%的码农都做不了架构师?>>>    一.什么是数据交换格式? 客户端与服务器常用数据交换格式xml.json.html 二.数据交换格式应用场景 移动端(安卓.IOS)通 ...

  5. XML和JSON两种数据交换格式的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  6. 数据交换格式与SpringIOC底层实现

    课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采 ...

  7. Java 数据交换格式反射机制SpringIOC原理分析

    数据交换格式&反射机制&SpringIOC原理分析 什么是数据交换格式? 数据交换格式使用场景 JSON简单使用 什么是JSON? JSON格式的分类 常用JSON解析框架 使用fas ...

  8. xml的数据交换以及xml和json数据交换的比较

    一.什么是Web Service ? Web Services 是有企业发布的完成其特定商务需求的在线应用服务,其他公司或应用软件能够通过internet来访问并使用这项在线服务 WebServicc ...

  9. 数据交换格式Json与XML

    什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...

最新文章

  1. Paper:《Hidden Technical Debt in Machine Learning Systems—机器学习系统中隐藏的技术债》翻译与解读
  2. lucene 增加相关性_事务性Lucene
  3. LeetCode 167. Two Sum II - Input array is sorted
  4. java class 内容查看_015-JVM-使用javap查看class文件内容
  5. 计算机二级c语言考点变化,计算机二级C语言考点归纳汇总.doc
  6. 用Java实现Md5加密工具类
  7. Seek 策略以及在有 B 帧情况下的处理
  8. 番茄花园洪磊,究竟错在哪里?
  9. Day215.课程详细页面功能完善、Echarts统计分析模块[生成统计数据+生成图表]前后端整合 -谷粒学院
  10. TC275——04Blinky-LED
  11. C语言中宏定义宏编译的使用#if,#ifdef,#ifndef,#elif,#else,#endif,defined使用详解,可以实现和if else一样的效果
  12. 为啥中国移动免费宽带突然不香了, 背后的猫腻,你知道吗?
  13. 【bzoj4146】 [AMPPZ2014]Divisors
  14. 【Python】详解 逻辑运算符 (and / or / not) + 布尔逻辑 (bool)
  15. Win7 VS2017编译magnum及例子
  16. SpringBoot搭建SSM框架项目,支持JSP页面
  17. 爬虫概念与编程学习之如何爬取视频网站页面(用HttpClient)(二)
  18. ORACLE 11g新特性中文版
  19. 全国计算机a类高等学校,全国最强专业都在这里:高校A类学科数量及排名
  20. 随手一写就是一个侧滑关闭activity

热门文章

  1. MacOS系统下 adb 调试电视相关(homebrew安装 adb)
  2. 英语46级报名考试系统
  3. SQL数据计数(count)
  4. oracle的空间字段、空间函数,空间数据类型
  5. Google 不想与甲骨文争了,要放弃 Java APIs
  6. TensorFlow知网文章1-TensorFlow平台下的视频目标跟踪深度学习模型设计
  7. 开发中PG,PL,SE,PM都是什么意思
  8. Android-传感器开发-方向判断
  9. [HDF5]如何使用CMake一起编译自己的代码和HDF5库
  10. 显示器竖屏显示会字体发虚的解决方法