- XML 教程
- XML - 首页
- XML - 概述
- XML - 语法
- XML - 文档
- XML - 声明
- XML - 标签
- XML - 元素
- XML - 属性
- XML - 注释
- XML - 字符实体
- XML - CDATA 区段
- XML - 空格
- XML - 处理
- XML - 编码
- XML - 验证
- XML 有用资源
- XML - 快速指南
- XML - 有用资源
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 声明
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 文档,因为 x 和 y 元素都出现在顶层,没有根元素:
<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 不同)区分大小写。也就是说,HREF 和 href 被认为是两个不同的 XML 属性。
相同的属性在一个语法中不能有两个值。以下示例显示了不正确的语法,因为属性 b 被指定了两次
-
<a b = "x" c = "y" b = "z">....</a>
属性名称在定义时不使用引号,而属性值必须始终用引号括起来。以下示例演示了不正确的 xml 语法
-
<a b = x>....</a>
在上面的语法中,属性值没有用引号括起来。
XML 引用
引用通常允许您在 XML 文档中添加或包含其他文本或标记。引用始终以符号 "&"(这是一个保留字符)开头,以符号 ";" 结尾。XML 有两种类型的引用:
实体引用 - 实体引用在开始和结束分隔符之间包含一个名称。例如 &,其中 amp 是 name。name 指的是预定义的文本和/或标记字符串。
字符引用 - 这些包含引用,例如 A,包含一个井号(“#”),后跟一个数字。该数字始终指字符的 Unicode 代码。在本例中,65 指字母“A”。
XML 文本
XML 元素和 XML 属性的名称区分大小写,这意味着开始和结束元素的名称需要使用相同的大小写。为了避免字符编码问题,所有 XML 文件都应保存为 Unicode UTF-8 或 UTF-16 文件。
XML 元素之间以及 XML 属性之间的空格字符(如空格、制表符和换行符)将被忽略。
某些字符由 XML 语法本身保留。因此,不能直接使用它们。要使用它们,会使用一些替换实体,这些实体列在下面:
不允许的字符 | 替换实体 | 字符描述 |
---|---|---|
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 撇号 |
" | " | 双引号 |