Xml 简明教程

XML - Syntax

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

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

您会注意到以上示例中有两种信息 −

  1. Markup, like <contact-info>

  2. 文本或字符数据,Tutorials Point 和 (040) 123-4567。

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

syntaxrules

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

XML Declaration

XML 文档可以选择使用 XML 声明。它的撰写方式如下 −

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

其中版本为 XML 版本,编码指定文件中使用的字符编码。

Syntax Rules for XML Declaration

  1. XML 声明区分大小写,必须以下“ &lt;?xml&gt; ”开头,其中“ xml ”以小写撰写。

  2. 如果文档包含 XML 声明,则必须严格作为 XML 文档中的第一条声明。

  3. XML 声明必须严格作为 XML 文档中的第一条声明。

  4. HTTP 协议可以覆盖 XML 声明中设置的编码值。

Tags and Elements

XML 文件由多个 XML 元素构成,也称为 XML 节点或 XML 标记。XML 元素的名称用尖括号 < > 括起来,如下所示 −

<element>

Syntax Rules for Tags and Elements

Element Syntax − 每个 XML 元素都需要使用起始元素或结束元素关闭,如下所示 −

<element>....</element>

或在简单的情况下,只需这样 −

<element/>

Nesting of Elements − 一个 XML 元素可以包含多个 XML 元素作为其子元素,但子元素不能重叠。即,元素的结束标记必须和最近未匹配的起始标记同名。

以下示例显示了错误的嵌套标记 −

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

以下示例显示了正确的嵌套标记 −

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

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

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

以下示例显示了格式正确的 XML 文档 −

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

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

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

XML Attributes

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

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

此处 href 是属性名称, http://www.tutorialspoint.com/ 是属性值。

Syntax Rules for XML Attributes

  1. XML(与 HTML 不同)中的属性名称区分大小写。也就是说,HREF 和 href 被视为两个不同的 XML 属性。

  2. 一个语法中同一属性不能有两个值。以下示例展示了不正确的语法,因为属性 b 被指定了两次−

<a b = "x" c = "y" b = "z">....</a>
  1. 属性名称在没有引号定义的情况下,而属性值必须始终以引号形式出现。以下示例展示了不正确的 XML 语法−

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

在上述语法中,属性值没有用引号定义。

XML References

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

  1. Entity References -实体引用在起始和结束分隔符之间包含一个名称。例如, &amp; ,其中 amp 是名称。该名称引用了一段预定义的文本和/或标记。

  2. Character References -这些包含引用,如 &#65; ,其中包含一个井号 (“#”) 和一个数字。该数字始终引用字符的 Unicode 编码。在本例中,65 引用字母 “A”。

XML Text

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

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

XML 语法本身保留一些字符。因此,它们不能直接使用。要使用它们,应使用下面列出的替换实体−

Not Allowed Character

Replacement Entity

Character Description

<

<

less than

>

>

greater than

&

&

ampersand

'

'

apostrophe

"

"

quotation mark