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

没有区别。
<tag></tag> 和 <tag/> 在 XML 中语义完全等价,都表示一个空元素——即该元素不包含任何内容(既无文本,也无子元素)。
XML 规范明确指出:
-
<tag></tag>是“开始标签 + 结束标签”的显式写法; -
<tag/>是“自闭合标签”(self-closing tag)的简写形式; - 解析器必须将二者视为完全相同,不能因格式不同而产生行为差异。
比如这三行在 XML 中是完全等价的:
<name></name> <name/> <name></name>
注意几点实际使用中的细节:
- 所有非空元素不能用自闭合写法。例如
<person>张三</person>不能写成<person>张三/>,这是非法的。 - 空元素必须严格闭合:要么用
</tag>配对,要么用<tag/>,不能漏掉闭合部分。 - 某些解析器(如老版 IE)可能在读取后自动把
<tag></tag>转成<tag/>,或反过来,但这属于内部表现,不影响语义和合法性。 - 如果标签有属性,自闭合写法更常见,也更清晰:
<img src="a.jpg" alt="示例"/>比<img src="a.jpg" alt="示例"></img>更简洁且被广泛接受。
基本上就这些。










