我听说过几次XML规范表明XML没有排序(例如,如果您期望订单,那么它就不是真正的XML)。据我所知,XML规范没有提到元素的顺序,也没有说它是显式无序的,也没有暗示没有顺序。
我已经知道了
但是我想知道的是: XML规范(任何版本)是否提到了元素的顺序?
发布于 2013-11-19 15:30:22
是的,XML规范关心元素顺序。XML文档类型声明(DTD)是XML规范的一部分。它们可以用于强制执行特定的元素顺序。该规范明确地讨论了元素顺序,例如:
..。控制子元素的允许类型和允许它们出现的顺序。
依附于其DTD的XML文档被视为有效。
但是,如果您只是讨论well-formedness,而不是有效性,那么元素的顺序就不重要了。
发布于 2013-11-19 18:27:49
通常假定父元素中子元素的顺序可能很重要,解析器将按原始顺序向应用程序报告元素。然而,当我最后一次查看时,规范并没有明确地说明这一点。这种疏忽大概是因为对于规范作者来说,这是完全显而易见的,他们主要对使用XML来表示文档感兴趣,在这些文档中,显然需要保留节中段落的顺序。
规范确实明确地指出,元素中的属性顺序并不重要。也许你就是这么想的。
发布于 2013-11-19 18:33:25
在XML定义中,可以使用all
或sequence
控制它。Discussed here。
https://stackoverflow.com/questions/20075258
复制相似问题