首页 » 网站推广 » yamlxmlphp技巧_XML刚学会怎么又出来个YAML

yamlxmlphp技巧_XML刚学会怎么又出来个YAML

访客 2024-12-01 0

扫一扫用手机浏览

文章目录 [+]

很多从事Spring的同学,没少花韶光在写XML文件上吧?

不过随着韶光推移,XML的大哥大地位越来愈多收到了寻衅。

yamlxmlphp技巧_XML刚学会怎么又出来个YAML

这不,除了JSON,又冒出来一个YAML。
到底YAML是个怎么回事?看看下面的文章,小伙伴们就明白了。

yamlxmlphp技巧_XML刚学会怎么又出来个YAML
(图片来自网络侵删)

YAML(/ˈjæməl/,尾音类似camel骆驼)是一个可读性高,用来表达数据序列化的格式。

YAML参考了其他多种措辞,包括:C措辞、Python、Perl,并从XML、电子邮件的数据格式(RFC 2822)中得到灵感。

Clark Evans(某软件行业大牛)在2001岁首年月次揭橥了这种措辞。
当前已经有数种编程措辞或脚本措辞支持(或者说解析)这种措辞。

YAML的语法和其他高等措辞类似,并且可以大略表达清单、散列表,标量等数据形态。

YAML利用空缺符号缩进和大量依赖外不雅观的特色,特殊适宜用来表达或编辑数据构造、各种配置文件、倾印调试内容、文件大纲(例如:许多电子邮件标题格式和YAML非常靠近)。

来看个YAML的例子John.yaml:

name: John Smith

age: 35

Wife:

name: Jane Smith

age: 33

children:

- name: Kate Smith

age: 10

- name: Daniel Smith

age 8

是不是很好理解?

一个人叫John Smith,35了(他居然35了?!
他在哪里事情吖?)他夫人叫Jane Smith,比他小两岁。

John俩孩子,10岁的女儿和8岁的儿子。

纵然不懂开拓的人,是不是也能一眼看懂?!

目前,市情上常见的开拓措辞:JAVA、Python、Golang、PHP、C/C++都支持YAML。

YAML灰常适宜用来表达层次构造式(hierarchical model)的数据构造,而且还有精细的语法可以表示关系性(relational model)的数据。

上面的例子,也能看出YAML的一个显著特点:多行缩进

数据构造可以用类似大纲的缩排办法呈现,构造通过缩进来表示,连续的项目通过减号“-”来表示,map构造里面的key/value对用冒号“:”来分隔。

下面大略从研发角度描述一下YAML:

1.YAML语法

• 大小写敏感

• 利用缩进表示层级关系

• 缩进时不许可利用Tab键,只许可利用空格。

• 缩进的空格数目不主要,只要相同层级的元素左侧对齐即可

2.支持的基本数据构造

• 工具:键值对的凑集,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)

• 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)

• 纯量(scalars):单个的、不可再分的值

2.1 工具:

YAML工具,是一组键值对,利用冒号构造表示。

例如:Name:John

Yaml 大概可另一种写法,将所有键值对写成一个行内工具。

例如:Person: { FirstName: John, LastName: Does}

2.2 数组:

YAML中,一组连词线开头的行,构成一个数组。

例如:

- John

- Richard

- Steve

YAML中,数据构造的子成员是一个数组,则可以在该项下面缩进一个空格。

例如:

-

- John

- Richard

- Steve

YAML的数组也可以采取行内表示法。

例如:people: [John, Richard]

2.3 纯量:

YAML中纯量是最基本的、不可再分的值。
以下数据类型都属于 JavaScript 的纯量。

• 字符串

• 布尔值

• 整数

• 浮点数

• Null

• 韶光

• 日期

3.不得不说的字符串

字符串是各种开拓措辞里最常见,也是比较繁芜的一种数据类型。

YAML中,字符串默认不该用引号表示。

例如:Name:JohnDoe

繁芜点儿的,YAML字符串可以写成多行,从第二行开始,必须有一个单空格缩进。
换行符会被转为空格。

例如:

introduction: John

Doe

Chinese

转换成JavaScript,变这样:

{ introduction: 'John Doe Chinese' }

再繁芜点儿的,YAML中多行字符串可以利用 | 保留换行符,也可以利用 > 折叠换行。

例如:

husband: |

John

Smith

wife: >

Jenny

Smith

转为 JavaScript 代码如下。

{ this: 'John Smith ', that: 'Jenny Smith ' }

多数情形下:以上内容搪塞日常事情、口试足够了。

以下内容供学有余力的同学参考:

4.一个高等用法

YAML中,锚点 & 和别名 ,可以用来引用。

举个例子:

defaults: &defaults

database: postgres

host: localhost

development:

database: our_development

<<: defaults

test:

database: our_test

<<: defaults

等同于下面的代码:

defaults:

database: postgres

host: localhost

development:

database: our_development

database: postgres

host: localhost

test:

database: our_test

database: postgres

host: localhost

&用来建立锚点(defaults),<<表示合并到当前数据,用来引用锚点。

关于YAML,本日就先容这么多,同学们想要更多理解YAML,可以关注官网:https://yaml.org/

作  者:Testfan Arthur

出  处:微信"大众号:自动化软件测试平台

版权解释:欢迎转载,但必须注明出处,并在文章页面明显位置给出文章链接

标签:

相关文章

网络优化,关键词布局的艺术与方法

网络优化成为企业提升品牌知名度、提高用户体验的关键因素。而关键词优化作为网络优化的重要环节,其合理布局对于网站SEO(搜索引擎优化...

网站推广 2025-03-21 阅读0 评论0

SEO工具在现代营销中的应用与优化步骤

搜索引擎优化(SEO)已经成为企业网络营销的重要组成部分。SEO工具作为辅助企业进行SEO工作的工具,其作用不言而喻。本文将围绕S...

网站推广 2025-03-21 阅读0 评论0