<分区>
对我来说可用意味着:
- 它正在现实世界中使用
- 它有工具支持。 (至少是一些简单的编辑器)
- 它具有人类可读的语法(请不要使用尖括号)
我还希望它尽可能接近 XML,即必须支持属性和属性。所以,没有 YAML请。目前,我只想到一种匹配的语言 - JSON .你知道任何其他选择吗?
<分区>
对我来说可用意味着:
我还希望它尽可能接近 XML,即必须支持属性和属性。所以,没有 YAML请。目前,我只想到一种匹配的语言 - JSON .你知道任何其他选择吗?
最佳答案
YAML 是 JSON 的 100% 超集,因此拒绝 YAML 然后考虑 JSON 是没有意义的。 YAML 可以做 JSON 可以做的一切,但 YAML 也提供了更多(比如引用)。
我想不出任何 XML 可以做而 YAML 不能做的事情,除了用 DTD 验证文档,根据我的经验,这从来都不值得开销。但是 YAML 比 XML 更快、更容易输入和阅读。
至于属性或属性,如果你仔细想想,它们并没有真正“添加”任何东西......它只是一种符号快捷方式,将一些东西写成节点的属性而不是将它放在自己的子节点中.但如果您喜欢这种便利,您通常可以使用 YAML 的内联列表/哈希来模拟它。例如:
<!-- XML -->
<Director name="Spielberg">
<Movies>
<Movie title="Jaws" year="1975"/>
<Movie title="E.T." year="1982"/>
</Movies>
</Director>
# YAML
Director:
name: Spielberg
Movies:
- Movie: {title: E.T., year: 1975}
- Movie: {title: Jaws, year: 1982}
对我来说,不必为每个节点标记编写两次的奢侈,再加上所有尖括号垃圾的自由,使 YAML 成为首选。实际上,我也喜欢缺少正式的标记属性,因为在我看来,这总是像 XML 的灰色区域,它不必要地为本质上相同的概念引入了两组语法(在编写和遍历时)。 YAML 完全消除了这种混淆。
关于xml - 您知道 XML 语法有哪些可用的替代方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51492/