YAML与XML相比

Igu*_*amu 53 xml yaml language-comparisons

我读过多年后yaml将被用来代替xml.请比较每个规范的相对优缺点.

Tho*_*ith 78

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

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

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

  • 我知道这是旧的,但-1是因为**甚至没有尝试*为XML提供案例(例如只有两个特权的模式和查询). (8认同)
  • 就像一个小小的迂腐RE JSON:YAML*意图*不是这样的事情,它*早于*JSON多年,并且实际上是该语言的超集.这最初只是偶然发生,只有几个微小的差异,直到它被注意到,此时规格是相互协调的. (6认同)
  • JSON 不支持注释,这是一个很大的缺点。 (4认同)
  • 我没有把它发布到"为XML做一个案例",而是一般性地解释两者的目的.任何知道他们想要运行XQuery的人都会对XML有更高层次的理解,而不是三段评论可以传授,任何不这样做的人都不应该根据它来选择格式. (2认同)

cak*_*rus 29

YAML比XML简洁; 然而,YAML的意思只是数据,而不是技术上的标记语言(Ÿ AML 一个 "诠释中号 arkup 大号 anguage).

  • 除非你使用它的原始名称,即“Yet Another Markup Language” https://yaml.org/spec/history/2001-08-01.html (2认同)

小智 10

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

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

和查询数据的选项:

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

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

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

  • 更糟糕的是,人们往往会忘记JSON和YAML也存在这些工具(尽管根据谷歌的快速搜索,似乎YAML的查询工具还处于起步阶段).拥有用于处理痛苦格式的好工具只能使用它,直到有类似工具用于较少痛苦的格式. (3认同)
  • 好点,但我想指出,没有理由不能在某个时刻创建 yQuery 和 yPath,如果您想创建 yQuery 或 yPath,那么它们尚不存在的事实往往是一个主要优势。 (2认同)

EBG*_*een 8

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

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


Dom*_*ell 6

我不太相信YAML是未来。尽管我已经使用过它以及它的WorksForMe™,但我似乎经常对该规范有所抱怨。最新的就是为什么我不喜欢YAML