拯救跟我一样的初学者:XML到底是什么玩意,用能让初学者听得懂的话
我也是个初学者,看视频在XML里添加来添加去都不知道干嘛用就来百度结果TM的一堆各种名词,根本不是给我这个初学者科普的,但是一堆沙子里也有黄金,我就把我觉得好的解释放在下面。
**解释1:**
来源:https://zhidao.baidu.com/question/1893777704454748140.html
简单概括的话就是,xml本身是一种格式规范,是一种包含了数据以及数据说明的文本格式规范。
比如,我们要给对方传输一段数据,数据内容是“too young,too simple,sometimes naive”,要将这段话按照属性拆分为三个数据的话,就是,年龄too young,阅历too simple,结果sometimes naive。
我们都知道程序不像人,可以体会字面意思,并自动拆分出数据,因此,我们需要帮助程序做拆分,因此出现了各种各样的数据格式以及拆分方式。
比如,可以是这样的
数据为“too young,too simple,sometimes naive”
然后按照逗号拆分,第一部分为年龄,第二部分为阅历,第三部分为结果。
也可以是这样的
数据为“too_young**too_simple*sometimes_naive”
从数据开头开始截取前面十一个字符,去掉号并把下划线替换为空格作为第一部分,再截取接下来的十一个字符同样去掉并替换下划线为空格作为第二部分,最后把剩下的字符同样去*号体会空格作为第三部分。
这两种方式都可以用来容纳数据并能够被解析,但是不直观,通用性也不好,而且如果出现超过限定字数的字符串就容纳不了,也可能出现数据本身就下划线字符导致需要做转义。
基于这种情况,出现了xml这种数据格式, 上面的数据用XML表示的话
可以是这样
也可以是这样
两种方式都是xml,都很直观,附带了对数据的说明,并且具备通用的格式规范可以让程序做解析。
如果用json格式来表示的话,就是下面这样
{
“age”:”too young”,
“experience”:”too simple”,
“result”:”sometimes naive”
}
其实数据都是一样的,不同的只是数据的格式而已,同样的数据,我用xml格式传给你,你用xml格式解析出三个数据,用json格式传给你,你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据,我自己先解析出三个数据,然后构造成json格式传给你,你解析json格式,获得三个数据,再自己构造成xml格式保存起来,说白了,不管是xml还是json,都只是包装数据的不同格式而已,重要的是其中含有的数据,而不是包装的格式。
**解释2** :
来源:
https://zhidao.baidu.com/question/106757380.html?qbl=relate_question_2&word=xml%CE%C4%BC%FE%B8%C9%C2%EF%B5%C4
xml:简单来说是存储和描述数据的.
比如说
Harry Potter
J K. Rowling
2005
29.99
Learning XML
Erik T. Ray
2003
39.95
这个xml描述了一个书城中的两本书,一本是儿童(category=”CHILDREN”)读物作者是J K. Rowling,出版年份是2005,价格是29.99,,另一本是web方面的,作者是Erik T. Ray,出版年份是2003,价格是39.95
**解释3:感觉最棒**
来源:
https://zhidao.baidu.com/question/130175345.html?qbl=relate_question_4&word=xml%CE%C4%BC%FE%B8%C9%C2%EF%B5%C4
1、xml一般用于各种语言、应用程序之间的数据储存、通信
2、可扩展就是说里面的标签可以自己造。不再局限于别人规定好的标签名字、属性名字,而是可以自己起名字。
3、没错,理论上html能做到的,xml都能做到。可是没人这么做。而且也不推荐你在该使用html的地方使用xml。理由是当前浏览器的支持原因。
xml的作用是用来表现数据之间的结构关系。这种结构关系是非常重要的。
xml为程序员提供了一种更通用、更有条理来储存、访问、修改数据的方法。
这种通用性体现在各种语言对xml的支持都是一致的。
这种条理性体现在他成对的标签与标签之间形成的层次关系。
在普通的浏览器中浏览xml,基本上都是出现该xml的内容列表。
但这仅仅是在浏览器中的表现情况。
在其他的应用程序中,如:RSS阅读器、天气预报小插件等,它们对相应的xml的解释就不一样。
要注意,不同的应用程序所需要的xml的标签格式基本是不会完全一样的
比如RSS阅读器和天气预报小插件他们所需要的标签名、属性名、标签之间的层次关系都是不一样的。
现在xml使用广泛是因为它既对程序友好(程序能很方便的生成、提取出里面的数据),也对人类友好(人类可以很方便的手写出xml)。但是冗余信息多,占用体积大也是其弊端。
在没有xml的日子里,程序员想进行进程间数据传递,必须自己设计传输接口,里面牵涉到很多烦人的数据格式等问题,使得程序员不能专注于具体业务的解决。如今xml和各种语言对xml的支持包,把程序员解脱出来了。
拯救跟我一样的初学者:XML到底是什么玩意,用能让初学者听得懂的话相关推荐
- 架构师到底是啥玩意?
前天晚上下班回家,和同事一起在地铁上聊起了架构师的问题.有一点自己的愚见,可以分享一下. 架构师到底是啥玩意?不管是在校科班学生,还是刚入行的菜鸟,或者已经有相对工作经验的朋友,只要一听到架构师这个称 ...
- matlab中prbs怎么用,答题 | PRBS码到底是啥玩意?
原标题:答题 | PRBS码到底是啥玩意? [文:黄刚] 问 答 如果是prbs7.prbs15呢?它们循环一次需要多少个bit呢?那--拓展到prbsN呢? 咳咳,这个问题从我发出去开始就知道难不倒 ...
- 时钟系统:CPU为啥需要时钟;此时钟非彼时钟,时钟到底是啥玩意
CPU为啥需要时钟:此时钟非彼时钟,时钟到底是啥玩意 讨论问题: 2.2 时钟的本质 讨论问题: 1.时钟是什么 2. 为什么需要时钟 2.2 时钟的本质 不知道你有没有过类似的疑惑:CPU不是供电就 ...
- JavaScript_proto_和prototype到底是什么玩意
JavaScript_proto_和prototype到底是什么玩意 今天去逛了贴吧,发现有人在问instanceof 的类型比较,所以比较贴心的去解释了一下,instanceof是比较左侧的_pro ...
- 深度剖析:Redis分布式锁到底安全吗?看完这篇文章彻底懂了!
阅读本文大约需要 20 分钟. 大家好,我是 Kaito. 这篇文章我想和你聊一聊,关于 Redis 分布式锁的「安全性」问题. Redis 分布式锁的话题,很多文章已经写烂了 ...
- RESTful到底是什么玩意??
0. REST不是"rest"这个单词,而是几个单词缩写.: 1. REST描述的是在网络中client和server的一种交互形式:REST本身不实用,实用的是如何设计 REST ...
- 初学者python编辑器-分享|Mu 入门:一个面向初学者的 Python 编辑器
相识 Mu -- 一个可以使学生学习 Python 更轻松的开源编辑器. Mu 是一个给初学者的 Python 编辑器,它旨在使学习体验更加愉快.它使学生能够在早期体验成功,这在你学习任何新知识的 ...
- 初学者python用哪个版本好-什么是Python?初学者应该学python哪个版本?
什么是Python?(这需要说明的是,Python并不是以蛇命名,而是以电视节目MontyPythonsFlyingCiret.来命名的),标志如图1.1所示・它是19年由荷兰人GmdvanRossu ...
- java初学者指南_企业Java中事务隔离级别的初学者指南
java初学者指南 介绍 基于ACID事务属性的关系数据库强一致性模型. 在本文中,我们将阐明对资源本地事务和JTA事务使用不同的事务隔离级别和各种配置模式的背后原因. 隔离和一致性 在关系数据库系统 ...
最新文章
- 又一个放弃P10千万年薪出走阿里的CTO!
- STM32 中malloc实际调用
- Windows Server AppFabric Caching
- 任意1-10中的4个数字,使用加减乘除计算得出24结果的可能组合(java版),很多人小时候都玩过...
- apple ii 模拟器 mac_苹果自研芯片Mac价格曝光
- insert exec 语句不能嵌套_MySQL ------ 插入数据(INSERT和insert select)(二十)
- 容灾技术中的数据一致性保障
- My New Game2
- o2o是什么营销模式c语言求幂函数,O2O营销模式的特点是什么,o2o模式的运营方式...
- 学计算机的制作水印,如何设置属于自己的水印,电脑上制作属于自己的文字水印...
- 世界500强和中国500强的视觉设计手册,设计圈都传遍了
- python-数据分析(3-Matplotlib之各种图形应用)
- 02 数字图像技术——颜色空间转换与颜色空间分割实验结果与分析——python
- mygui初探(二)皮肤编辑器
- 我在2022北大夏令营被吊起来打
- 孟母三迁:学习中环境对人的影响特别的重要
- 攻防世界-web shrine
- nginx的负载均衡模块详解
- 2021年第十二届蓝桥杯省赛第二场Python组(真题+解析+代码):双阶乘
- Harbor私有镜像仓库——高可用
热门文章
- SpringCloud-Eureka-服务注册是如何发起的
- ASP.Net MVC开发基础学习笔记:五、区域、模板页与WebAPI初步
- 【原创】大叔经验分享(25)hive通过外部表读写hbase数据
- 6号团队-团队任务4:每日立会(2018-11-28)
- Everything Has Changed(HDU6354+圆交+求周长)
- CSS 选择器 :last-child与:last-of-type的区别
- 直流电机基本系统模型
- 04JavaScript中函数也是对象
- openwrt 替换Dropbear by openssh-server
- sqlite3 外键支持