为什么会选择 YAML 通过 XML 或任何其他格式?

有帮助吗?

解决方案

我同意塞尔吉奥的观点;YAML 提供了一种易于人类编辑的格式,也是清晰表示数据结构的好方法。

在我看来,YAML 往往更易于人类阅读。

YAML 更多的是一种数据序列化技术,而不是一种标记语言。

其他提示

YAML其主要优点是人类可读性和紧凑性。哦,它得到了各种平台和语言的广泛支持。

YAML 在 Ruby 社区中非常流行,在 Rails 和 Merb 等配置文件中,它主要优先于 XML 使用。

如果文档需要由人编辑或创建,我会选择 YAML。只是一个想法。

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 中格式化上述数据,仅使用缩进来提供“范围”,则很难判断事物的开始和结束位置。

为了更好地衡量,这里引用了 yaml.org 上的官方 yaml 规范

YAML 主要是一种数据序列化语言。XML 被设计为向后兼容标准通用标记语言 (SGML),因此有许多 YAML 所不具备的设计约束。XML 继承了 SGML 的传统,旨在支持结构化文档,而 YAML 更紧密地针对数据结构和消息传递。XML 是许多领域的先驱,而 YAML 则是从 XML 和其他技术中汲取经验教训的结果。

我使用 YAML 作为编写特定领域语言的廉价且简单的替代方案(特别是在其他开发人员进行维护的情况下;我不确定当非开发人员维护它时我会使用它)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top