你知道什么可用的替代XML语法?

对我来说,可用意味着:

它正在被实际使用
>它有工具支持。 (至少有一些简单的编辑器)
>它具有人类可读的语法(不能有尖括号)

此外,我希望它尽可能接近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完全消除了这种混乱。

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念