什么是 XML?
- XML 指可扩展标记语言(EXtensible Markup Language)。
- XML 是一种标记语言,很类似 HTML。
- XML 的设计宗旨是传输数据,而非显示数据。
- XML 标签没有被预定义,需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准。
XML与 HTML的主要差异
- XML不是HTML的替代。
- XML被设计为传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观。
- HTML的标签都是预定义的,而XML的标签没有被预定义。
- 在 HTML,经常会看到没有关闭标签的元素,而XML中必须有关闭标签。
- 在HTML 中,常会看到没有正确嵌套的元素,而在XML中,所有元素都必须彼此正确地嵌套。
- HTML会把多个连续的空格字符裁减(合并)为一个;在 XML 中,空格会被保留
基本语法
- 所有XML元素都须有关闭标签
- XML标签对大小写敏感
- XML的元素必须正确地嵌套
- XML文档必须有根元素
- XML的属性值须加引号
实体引用
在XML中,一些字符拥有特殊的意义。如果你把字符 “<” 放在XML元素中,会发生错误,这是因为解析器会把它当作新元素的开始。为了避免这个错误,请用实体引用来代替 “<” 字符。在 XML中,有5个预定义的实体引用:
< < 小于
> > 大于
& & 和号
' ' 单引号
" " 引号
注释:在XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
XML 中的注释
<!-- This is a comment -->
XML声明
<?xml version="1.0" encoding="ISO-8859-1"?>
它定义XML的版本 (1.0) 和所使用的编码 (ISO-8859-1 = Latin-1/西欧字符集)。
小贴士: 在 HTML 中,属性用起来很便利,但是在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用子元素吧。
避免XML属性
- 属性无法包含多重的值(元素可以)
- 属性无法描述树结构(元素可以)
- 属性不易扩展(为未来的变化)
- 属性难以阅读和维护
请尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。