XML文件的特点

1.这个东西的规则比较简单,并且人眼看起来也比较容易理解,结构上也比较好操作,并且并无与任何编程语言绑定。

所以,很多编程语言就都为XML这个东西编写了读写XML的库,所以XML看起来所谓的通用,其实主要不是因为本身通用,而是因为XML本身的特点导致很多人愿意编写操作XML的相关的库,于是就“通用”了。

2.语法规则,简单的特性直接导致了她另一方面的问题。即信息密度太低,同样的信息量需要的文本长度更长。

3.提供了一种描述事物的方法,而且这种方法能够表述列表、树等常见的数据结构,可扩展性好。

4.用纯文本语言书写,人们可以读懂内容,也可以自行修改里面的内容是树形结构,关于书有很多非常成熟的算法描述和操作。

5.用纯文本保存结构化数据是xml最大的优点。

6.xml文件可以自由定义属性和层次关系,使用中可以比较灵活的反应对象的信息。

7.XML是第一代人和机器都能读懂的语言,That's all

8.XML 有一套工具,用来存储和操作数据。它提供了解释(Parser),验证(DTD,schema),查询(XQuery),变换(XSLT)。每个工具都帮你处理了大量令人头痛的问题。

需要存储和操作数据吗?请使用 XML。

9.XML就是给各种事物加标签,以达到完整的表述事物的属性。

就像在街上看到男的就加上<高帅富>、<屌丝>的标签,看到女的就加上<1分>、<6分>、<10分>等标签。大家看的时候就一目了然。

10.解决了“如何来表示一些信息”这个问题。

11.简单概括(可能概括的不是很准确,但是我的语言功底也就到这了,见谅)的话就是,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表示的话

可以是这样

<person age="too young" experience="too simple" result="sometimes naive" />

 

也可以是这样

<person>

    <age value="too young" />

    <experience value="too simple" />

    <result value="sometimes naive" />

</person>

 

两种方式都是xml,都很直观,附带了对数据的说明,并且具备通用的格式规范可以让程序做解析。

 

如果用json格式来表示的话,就是下面这样

{

    "age":"too young",

    "experience":"too simple",

    "result":"sometimes naive"

}

看出来没,其实数据都是一样的,不同的只是数据的格式而已,同样的数据,我用xml格式传给你,你用xml格式解析出三个数据,用json格式传给你,你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据,我自己先解析出三个数据,然后构造成json格式传给你,你解析json格式,获得三个数据,再自己构造成xml格式保存起来,说白了,不管是xml还是json,都只是包装数据的不同格式而已,重要的是其中含有的数据,而不是包装的格式。(来源:https://www.zhihu.com/question/31353595/answer/60826602)

转载于:https://www.cnblogs.com/yibeimingyue/p/9942538.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值