XML - 语法



在本章中,我们将讨论编写 XML 文档的简单语法规则。下面是一个完整的 XML 文档:

<?xml version = "1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

您会注意到上面示例中存在两种信息:

  • 标记,例如 <contact-info>

  • 文本或字符数据,Tutorials Point(040) 123-4567

下图描述了在 XML 文档中编写不同类型标记和文本的语法规则。

XML Syntax Rules

让我们详细了解上图中的每个组件。

XML 声明

XML 文档可以选择包含 XML 声明。它写成如下形式:

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

其中 version 是 XML 版本,encoding 指定文档中使用的字符编码。

XML 声明的语法规则

  • XML 声明区分大小写,必须以“<?xml>”开头,其中“xml”小写。

  • 如果文档包含 XML 声明,则它严格需要是 XML 文档的第一条语句。

  • XML 声明严格需要是 XML 文档中的第一条语句。

  • HTTP 协议可以覆盖您在 XML 声明中设置的 encoding 值。

标签和元素

XML 文件由多个 XML 元素(也称为 XML 节点或 XML 标签)构成。XML 元素的名称用三角括号 < > 括起来,如下所示:

<element>

标签和元素的语法规则

元素语法 - 每个 XML 元素都需要使用开始或结束元素关闭,如下所示:

<element>....</element>

或者在简单情况下,只需这样:

<element/>

元素嵌套 - 一个 XML 元素可以包含多个 XML 元素作为其子元素,但子元素不得重叠。即,元素的结束标签必须与最近的未匹配开始标签具有相同的名称。

以下示例显示了不正确的嵌套标签:

<?xml version = "1.0"?>
<contact-info>
<company>TutorialsPoint
</contact-info>
</company>

以下示例显示了正确的嵌套标签:

<?xml version = "1.0"?>
<contact-info>
   <company>TutorialsPoint</company>
<contact-info>

根元素 - XML 文档只能有一个根元素。例如,以下不是正确的 XML 文档,因为 xy 元素都出现在顶层,没有根元素:

<x>...</x>
<y>...</y>

以下示例显示了一个格式正确的 XML 文档:

<root>
   <x>...</x>
   <y>...</y>
</root>

区分大小写 - XML 元素的名称区分大小写。这意味着开始和结束元素的名称需要完全相同的大小写。

例如,<contact-info><Contact-Info> 不同。

XML 属性

属性使用名称/值对指定元素的单个属性。一个 XML 元素可以有一个或多个属性。例如:

<a href = "https://tutorialspoint.com/">Tutorialspoint!</a>

这里 href 是属性名称,https://tutorialspoint.com/ 是属性值。

XML 属性的语法规则

  • XML 中的属性名称(与 HTML 不同)区分大小写。也就是说,HREFhref 被认为是两个不同的 XML 属性。

  • 相同的属性在一个语法中不能有两个值。以下示例显示了不正确的语法,因为属性 b 被指定了两次

    -
<a b = "x" c = "y" b = "z">....</a>
  • 属性名称在定义时不使用引号,而属性值必须始终用引号括起来。以下示例演示了不正确的 xml 语法

    -
<a b = x>....</a>

在上面的语法中,属性值没有用引号括起来。

XML 引用

引用通常允许您在 XML 文档中添加或包含其他文本或标记。引用始终以符号 "&"(这是一个保留字符)开头,以符号 ";" 结尾。XML 有两种类型的引用:

  • 实体引用 - 实体引用在开始和结束分隔符之间包含一个名称。例如 &amp;,其中 ampnamename 指的是预定义的文本和/或标记字符串。

  • 字符引用 - 这些包含引用,例如 &#65;,包含一个井号(“#”),后跟一个数字。该数字始终指字符的 Unicode 代码。在本例中,65 指字母“A”。

XML 文本

XML 元素和 XML 属性的名称区分大小写,这意味着开始和结束元素的名称需要使用相同的大小写。为了避免字符编码问题,所有 XML 文件都应保存为 Unicode UTF-8 或 UTF-16 文件。

XML 元素之间以及 XML 属性之间的空格字符(如空格、制表符和换行符)将被忽略。

某些字符由 XML 语法本身保留。因此,不能直接使用它们。要使用它们,会使用一些替换实体,这些实体列在下面:

不允许的字符 替换实体 字符描述
< &lt; 小于
> &gt; 大于
& &amp; 和号
' &apos; 撇号
" &quot; 双引号
广告