- HTML有固定的标记,来展示格式化、结构、语义等标记
XML是元标记语言,所以可以由用户来创建,比较灵活。
例如:在HTML中定义一个图书信息:
<dt>畅销榜单</dt>
<dd>NO.1</dd>
<ul>
<li>书名:《悲惨世界》</li>
<li>作者:雨果</li>
</ul>
同样的表示信息在XML可以写成:
<BookList>畅销榜单</BookList>
<top>NO.1</top>
<info>
<BookName>书名:《悲惨世界》</BookName>
<BookAuthor>作者:雨果</BookAuthor>
</info>
上面的<dd> </dd>
或者<BookList> <BookList>
就是Tags,即标签。
可见,使用XML可以通过自定义标签使代码可读性更高,也更方便使用。
对于网页显示功能来说,HTML要比XML强,
但就文件应用范畴来说,XML比HTML要强。
- 标识符嵌套方式不同
在HTML中经常见到如下示例程序片段
<t><foo> example <t><foo>
仔细观察这段代码的嵌套顺序。
这在XML中显然是错误的,必须写成:
<t><foo> example <foo><t>
- 属性值引号的使用不同
在HTML中,属性值可以不使用引号,例如
<font color=red>
这样在XML中是错误的,应表示为:
<font color="red">
- 对空白字符的处理不同
代码示例1:
<author>雨果</author>
代码示例2:
<author>
雨果
</author>
对于HTML来说,解析器会把句子中的空白去掉,因此代码1和代码2的执行结果是一致的。
但是对于XML来说,解析器会忠实的交给应用程序来理解。所以解析器会保留内容中所有的空白字符并不加修改的传递给应用程序,但元素标记和属性值中的空白会被删除。