YAML compared to XML [closed]

2019-01-30 17:39发布

I read that after years yaml will be used instead of xml. Please compare the relative advantages and disadvantages of each specification.

5条回答
迷人小祖宗
2楼-- · 2019-01-30 18:28

YAML is much less verbose. The signal-to-noise ratio is higher without all the brackets. This makes it subjectively easier to read and edit for many people. On the flip side, it's slightly (only slightly) harder to parse.

The biggest difference, though, is that XML is meant to be a markup language and YAML is really more of a data format. Representing simple, hierarchical data tends to be more gracefully done in YAML, but actual marked-up text is awkward to represent.

EDIT: I'd like to add, for reference, that YAML is essentially (though not historically) a "cleaner" version of JSON ("Javascript Object Notation") that largely eliminates the latter's perceived line noise (brackets and braces). If you can't find a suitable YAML library for a particular project, then JSON is a more widely-supported alternative with many of YAML's advantages.

查看更多
家丑人穷心不美
3楼-- · 2019-01-30 18:28

I'm not so convinced about YAML being the future. Whilst I've used it, and it WorksForMe™, I have often seem complaints about the spec. The latest of which is Why I Don't Like YAML.

查看更多
We Are One
4楼-- · 2019-01-30 18:37

The main advantage that I see is that it is more easily human readable. I also like it a little better than XML because it has the concept of certain data structures (dictionaries and arrays) already built in.

On the flip side, the library support for parsing YAML is nowhere near that of XML, so it is harder to use it to fulfill one of the prime uses of XML. That is inter-application communication.

查看更多
Evening l夕情丶
5楼-- · 2019-01-30 18:37

A big plus for xml are the options to validate (opinions in parenthesis):

  • Schematron (extremely powerful)
  • W3C XML Schema (solid)
  • DTD (not so nice (it isn't even xml))
  • XSD (most used)

And options to query data:

  • XPath (in version 2.x even better)
  • XQuery (mostly not of interest anymore)

YAML is probably the easiest to read for humans in most cases.

JSON is quite easy to read and it is the way JavaScript stores data (correct me if wrong). I really like to use JSON when writing my own C style programming languages to parse values.

查看更多
姐就是有狂的资本
6楼-- · 2019-01-30 18:42

YAML is less verbose than XML; however, YAML is meant just for data and is not technically a markup language (YAML A'int Markup Language).

查看更多
登录 后发表回答