60

我读到多年后将使用 yaml 代替 xml。请比较各个规格的相对优缺点。

4

5 回答 5

91

YAML 不那么冗长。没有所有括号的信噪比更高。这使得许多人主观上更容易阅读和编辑。另一方面,它稍微(只是稍微)难以解析。

不过,最大的区别在于 XML 是一种标记语言,而 YAML 实际上更像是一种数据格式。在 YAML 中表示简单的分层数据往往更优雅,但实际标记的文本很难表示。

编辑:作为参考,我想补充一点,YAML 本质上(虽然不是历史上)是 JSON(“Javascript 对象表示法”)的“更清洁”版本,它在很大程度上消除了后者感知到的线路噪音(括号和大括号)。如果您无法为特定项目找到合适的 YAML 库,那么 JSON 是一种受更广泛支持的替代方案,具有 YAML 的许多优点。

于 2009-08-20T20:17:39.693 回答
32

YAML 比 XML 更简洁;但是, YAML仅用于数据,在技术上并不是一种标记语言(Y AML A 'int Markup L语言)。

于 2009-08-20T20:15:57.263 回答
17

xml 的一大优点是验证选项(括号中的意见):

  • Schematron(非常强大)
  • W3C XML 模式(实心)
  • DTD(不太好(甚至不是 xml))
  • XSD(最常用)

以及查询数据的选项:

  • XPath(在 2.x 版本中更好)
  • XQuery(大部分不再感兴趣)

在大多数情况下,YAML 可能是人类最容易阅读的。

JSON 很容易阅读,它是 JavaScript 存储数据的方式(如果错了,请纠正我)。在编写自己的 C 风格编程语言来解析值时,我真的很喜欢使用 JSON。

于 2012-08-27T15:37:41.413 回答
10

我看到的主要优点是它更易于人类阅读。我也比 XML 更喜欢它,因为它已经内置了某些数据结构(字典和数组)的概念。

另一方面,库对解析 YAML 的支持远不及 XML,因此更难使用它来实现 XML 的主要用途之一。那就是应用程序间的通信。

于 2009-08-20T20:17:12.893 回答
9

我不太相信 YAML 是未来。虽然我使用过它,而且它是 WorksForMe™,但我似乎经常抱怨该规范。最新的是为什么我不喜欢 YAML

于 2009-08-21T12:55:28.630 回答