目录

XML 语法规则


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


XML 文档必须有根元素

XML 文档必须包含一个元素是家长所有其他元素:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

在这个例子中<注意>是根元素:

<?xml version="1.0" encoding="UTF-8 "?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

XML 序言

该行称为 XML序言:

<?xml version="1.0" encoding="UTF-8 "?>

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

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

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

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

字符编码可以在我们的中研究字符集教程

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



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

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

<p>This is a paragraph.</p>
<br />

笔记:XML 序言没有结束标记!这不是一个错误。序言不是 XML 文档的一部分。


XML 标签区分大小写

XML 标签区分大小写。标签<Letter> 与标签<letter> 不同。

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

<message>This is correct</message>

"Opening and closing tags" 通常称为 "Start and end tags"。使用您喜欢的任何东西。这是完全相同的事情。


XML 元素必须正确嵌套

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

<b><i>This text is bold and italic</b></i>

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

<b><i>This text is bold and italic</i></b>

在上面的示例中,"Properly nested" 只是表示,由于 <i> 元素在 <b> 元素内打开,因此它必须在 <b> 元素内关闭。


XML 属性值必须始终加引号

XML 元素可以像 HTML 一样具有名称/值对中的属性。

在 XML 中,属性值必须始终用引号引起来:

<note date="12/11/2007">
  <to>Tove</to>
  <from>Jani</from>
</note>

实体参考

某些字符在 XML 中具有特殊含义。

如果将像 "<" 这样的字符放入 XML 元素中,则会生成错误,因为解析器将其解释为新元素的开头。

这将生成一个 XML 错误:

<message>salary < 1000</message>

要避免此错误,请将 "<" 字符替换为实体参考:

<message>salary < 1000</message>

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

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
" " quotation mark

在 XML 中只有 < 和 & 是严格非法的,但用 > 替换 > 是一个好习惯。以及。


XML 中的注释

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

<!-- This is a comment -->

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

<!-- This is an invalid -- comment -->

XML 中保留空白

XML 不会截断多个空格(HTML 将多个空格截断为一个空格):

XML: Hello           Tove
HTML: Hello Tove

XML 将新行存储为 LF

Windows 应用程序将新行存储为:回车换行 (CR+LF)。

Unix 和 Mac OSX 使用 LF。

旧的 Mac 系统使用 CR。

XML 将新行存储为 LF。


格式良好的 XML

符合上述语法规则的 XML 文档被称为 "Well Formed" XML 文档。