为什么会选择YAML而非XML或任何其他格式?
答案 0 :(得分:9)
我同意塞尔吉奥; YAML提供了一种易于人类编辑的格式,也是一种干净地表示数据结构的好方法。
YAML往往更具人性化,IMO。
YAML更像是一种数据序列化技术,而不是标记语言。
答案 1 :(得分:7)
YAML的主要优点是人类的可读性和紧凑性。哦,它在各种平台和语言中得到广泛支持。
YAML在Ruby社区中非常流行,例如,它主要用于优先使用Rails和Merb中的配置文件的XML。
答案 2 :(得分:4)
如果需要由人类编辑或创建文档,我会选择YAML。只是一个想法。
答案 3 :(得分:1)
YAML最适合的应用/利用类型是什么?
这很难清楚地回答。相反,我会尝试提供一些YAML 不适合的例子(以我的拙见)。
<name type="string">Orion</name>
<age type="integer">26</age>
这是在XML中混合属性和值有用的情况。 YAML没有属性,所以你必须使用类型推断来决定什么是日期/整数/字符串/等 - 这对于复杂或用户定义的类型都是失败的。
<user>
.... 10 lines of stuff
<sub-user>
...15 more lines of stuff
</sub-user>
.... 10 more lines of stuff belonging to user
</user>
这种情况下XML中的结束标记提供了很多好处。如果你要在YAML中格式化上述数据,只使用缩进来提供“范围”,那么要知道事情的起点和终点要困难得多。
为了更好地衡量,这里是official yaml spec at yaml.org
的引用YAML主要是一种数据序列化语言。 XML被设计为向后兼容标准通用标记语言(SGML),因此YAML不会共享许多设计约束。 XML继承了SGML的遗产,旨在支持结构化文档,其中YAML更紧密地针对数据结构和消息传递。 XML是许多领域的先驱,YAML是从XML和其他技术中汲取的经验教训的结果。
答案 4 :(得分:0)
我使用YAML作为编写特定领域语言的廉价而简单的替代品(特别是在其他开发人员将进行维护的情况下;我不确定在非开发人员维护它时会使用它)