首页 > 解决方案 > 为什么 XML 文档必须有一个根元素?

问题描述

决定在 XML 文档中使用单个根元素的动机是什么?

有人能解释一下为什么 XML 设计团队做出这个决定吗?

标签: xmlw3c

解决方案


你在问一个设计动机问题,这通常很难事后回答,而不仅仅是推测。

幸运的是,Tim Bray 捕捉并记录了XML 背后的一些设计历史和动机,并仅针对一个元素(称为root或文档元素)进行了说明

根和巢

这一段(严格来说是不必要的——它只是放大了语法的后果)描述了格式良好的本质。简单地说,必须有一个元素包含其他所有元素,并且所有元素都必须很好地相互嵌套 - 不能重叠!所有这些“根”和“巢”术语都暗示树,这很好。

XML 需要单个根元素这一事实比您想象的更重要;考虑到我们希望通过网络链接传输这些文档,我们都知道,网络链接有时速度很慢、不稳定且不可靠,如果每个文档的开头和(尤其是)结尾都被清楚地标记出来,这是一个非常好的主意,这样即使另一端的人关闭链接的速度很慢,您也知道何时收到了全部信息。

另请参阅: XML 中的根节点、根元素和文档元素有什么区别?


推荐阅读