17370845950

XML中的空标签和有区别吗
没有区别。XML中与语义完全等价,均表示空元素;前者为显式写法,后者为自闭合简写,解析器必须视为相同;非空元素不可自闭合,空元素须严格闭合。

有区别吗">

没有区别。

在 XML 中语义完全等价,都表示一个空元素——即该元素不包含任何内容(既无文本,也无子元素)。

XML 规范明确指出:

  • 是“开始标签 + 结束标签”的显式写法;
  • 是“自闭合标签”(self-closing tag)的简写形式;
  • 解析器必须将二者视为完全相同,不能因格式不同而产生行为差异。

比如这三行在 XML 中是完全等价的:



注意几点实际使用中的细节:

  • 所有非空元素不能用自闭合写法。例如 张三 不能写成 张三/>,这是非法的。
  • 空元素必须严格闭合:要么用 配对,要么用 ,不能漏掉闭合部分。
  • 某些解析器(如老版 IE)可能在读取后自动把 转成 ,或反过来,但这属于内部表现,不影响语义和合法性。
  • 如果标签有属性,自闭合写法更常见,也更清晰:
    更简洁且被广泛接受。

基本上就这些。