# 简介

XML 语言指的是可拓展标记语言 (eXtensible Markup Language)。

# XML 语言与 HTML 语言的异同

首先应该注意的是,XML 语言不同于 HTML 语言,其不是 HTML 的替代,而是对 HTML 的补充。在作用上,XML 语言倾向于存储传输数据,而 HTML 倾向于显示数据。在语言标签上,尽管两者形式相似,但 HTML 中的 tag (例如 <p><h1> 等) 都是预先定义的,而 XML 不是。

# 一个 XML 实例

这是一个 XML 实例:

<?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 的版本 (1.0) 和使用的编码 (UTF-8)。

每个 XML 必须恰好包含一个根元素。例如上述实例中, <note> 是根元素开始的标志,而结尾的 <\note> 是 XML 结束的标志。在根元素下,包括 <to>...<\to><from>...<\from><heading>...<\heading><body>...<\body> 等四个子元素。每个子元素中可以嵌套子元素,也可以加入内容。

因此,我们说 XML 是一种表示树结构的语言。

# XML 基本语法

XML 包括以下几条基本的语法规则。

  1. XML 文档必须有根元素。
  2. XML 可以具有声明,如需要则应放在第一行,例如
    <?xml version="1.0" encoding="utf-8"?>
  3. 所有的 XML 元素必须存在关闭标签。这与 HTML 不同。
  4. XML 标签对大小写敏感。
  5. XML 的属性值必须加引号。
    <note date="2022-3-10"></note> <!-- right -->
    <note date=2022-3-10></note>  <!-- wrong -->
  6. 实体引用:在 XML 中,一些符号具有特殊的含义 (例如 < ),只能采用实体引用代替该符号。XML 中有 5 个预定义的实体引用:
    | 实体引用 | 符号 | 含义 |
    |:-😐:-😐:-😐
    | &al; |<|less than|
    | &gt; |>|grater than|
    | &amp; |&|ampersand|
    | &apos; |`|apostrophe|
    | &quot; |"|quotation mark|
  7. XML 注释与 HTML 格式相同。例如:
    <!-- This is a comment. -->
  8. XML 不会将连续的空格删减成一个,而是会保留空格。
  9. XML 以 LF 存储换行。

# XML DOM