XML 语法规则

XML 树结构

XML 元素

XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。

XML 文档必须有根元素

XML 文档必须包含一个根元素,该元素是所有其他元素的父元素:

.....

在此例中, 是根元素:

George

John

Reminder

Don't forget the meeting!

XML 序言(XML Prolog)

这一行称为 XML 序言:

XML 序言是可选的。如果存在,则必须位于文档的第一行。

XML 文档可以包含国际字符,例如挪威语 øæå 或法语 êèé。

为了避免错误,您应该指定所使用的编码,并将 XML 文件保存为 UTF-8。

UTF-8 是 XML 文档的默认字符编码。

您可以在我们的字符集教程中进行学习字符编码。

提示:UTF-8 也是 HTML5、CSS、JavaScript、PHP 和 SQL 的默认编码。

所有 XML 元素都必须有结束标签

在 XML 中,省略结束标记是非法的。所有元素都必须有结束标签:

This is a paragraph.


注意:XML 序言没有结束标签!这不是错误。序言不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。

XML 标签区分大小写

XML 标签区分大小写。标签 与标签 不同。

开始和结束标签必须使用相同的大小写:

This is correct

注释:打开标签和关闭标签通常被称为开始标签和结束标签。不论您喜欢哪种术语,它们的概念都是相同的。

XML 元素必须正确嵌套

在 HTML 中,您可能会看到没有正确嵌套的元素:

This text is bold and italic

在 XML 中,所有元素必须正确地相互嵌套:

This text is bold and italic

在上面的例子中,正确嵌套的意思是:由于 元素是在 元素内打开的,那么它必须在 元素内关闭。

XML 属性值必须加引号

与 HTML 类似,XML 也可拥有属性(名称/值对)。

在 XML 中,XML 的属性值须加引号:

George

John

实体引用

在 XML 中,一些字符拥有特殊的意义。

如果你把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。

这样会产生 XML 错误:

if salary < 1000 then

为了避免这个错误,请用实体引用来代替 "<" 字符:

if salary < 1000 then

在 XML 中,有 5 个预定义的实体引用:

<

<

小于

>

>

大于

&

&

和号

'

'

单引号

"

"

引号

注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。> 是合法的,但是用 > 来代替它是一个好习惯。

XML 中的注释

在 XML 中编写注释的语法与 HTML 的语法很相似:

注释中间不允许有两个破折号:

XML 中保留空白

HTML 会把多个连续的空格字符裁减(合并)为一个,在 XML 中,文档中的空格不会被删节:

XML: Hello George

HTML: Hello George

XML 将新行存储为 LF

在 Windows 应用程序中,换行通常以一对字符来存储:回车符 (CR) 和换行符 (LF)。这对字符与打字机设置新行的动作有相似之处。

Unix 和 Mac OSX 使用 LF。

旧的 Mac 系统使用 CR。

XML 将新行存储为 LF。

格式良好的 XML

符合上述语法规则的 XML 文档被称为“格式良好”的 XML 文档。

XML 树结构

XML 元素