先来看看这两者的定义
非空元素的语法格式如下:
<标签名 属性1 属性2……>
内容
</标签名>
非空元素主要是由开始标签、结束标签机包含其间的内容组成。开始标签由“<”、“>”、标签名以及不是必须的若干个属性组成。结束标签则由“</”、“>”及标签名组成。在开始标签与结束标签之间的内容可以是文本数据或则其他元素。
空元素的语法格式如下:
<标签名 属性名1 属性名2……/>
那么两者的区别是什么呢?
首先格式上的区别,空元素与非空元素最大的不同就是没有内容及结束标签部分。
其次,空元素不会给我们带来任何好处,唯一的好处是少输入几个字。因此是否需要空元素由用户本人决定。但是需要记住一件事情:就XML而言,<middle></middle>与<middle/>是完全一样的。正是由于这个原因,有些解析器有时会把XML文档从一种形式变换为另一种形式,我们不要依靠文档里的空元素,不管是哪种格式里的空元素。但是从语法上讲,它们是完全一样的,因此这种转换不会产生任何影响(这正是IE随意地把前面的<Address2></Address2>转换为</Address2>的原因)。(from:http://zhidao.baidu.com/question/162458838.html)
至于具体两者的用途上的区别我目前还没有遇到,估计在后期对xml文档解析啊什么的时候估计会碰到,届时再补写此帖。