YAML与XML相比

时间:2009-08-20 20:13:00

标签: xml yaml language-comparisons

我读过多年后会使用yaml而不是xml。请比较每个规范的相对优缺点。

5 个答案:

答案 0 :(得分:71)

YAML的冗长程度要低得多。没有所有支架,信噪比更高。这使得许多人在主观上更容易阅读和编辑。另一方面,它稍微(仅略微)难以解析。

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

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

答案 1 :(得分:28)

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

答案 2 :(得分:8)

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

另一方面,解析YAML的库支持远不及XML的支持,因此很难用它来实现XML的主要用途之一。这是应用程序间的沟通。

答案 3 :(得分:6)

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

  • Schematron(非常强大)
  • W3C XML Schema(可靠)
  • DTD(不太好(甚至不是xml))
  • XSD(最常用)

查询数据的选项:

  • XPath(版本2.x甚至更好)
  • XQuery(不再感兴趣)

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

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

答案 4 :(得分:4)

我不太相信YAML是未来。虽然我已经使用它,并且它使用了WorksForMe™,但我似乎经常抱怨规格。最新的是Why I Don't Like YAML