XML语法

本章将带您通过简单的语法规则来编写一个XML文档。以下是一个完整的XML文档:

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

你可以注意在上述的例子上有两种类型的信息:

  • markup, like<contact-info>and

  • 该 文字, 或 该 性格 数据,Tutorials Pointand(040) 123-4567.

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

XML语法规则

让我们来看看详细上图中的每个组成部分:

XML声明

XML文档可以有一个XML声明。它可写为以下:

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

这里版本是XML版本和编码指定文档中的字符编码.

XML声明的句法规则

  • XML声明是区分大小写的,并且必须以“&LT;?XML和GT;”与“XML”是用小写写入.

  • 如果文档中包含的XML声明,它应该是XML文档的第一条语句.

  • XML声明应该是XML文档的第一条语句.

  • 一个HTTP协议可以覆盖的值编码你在XML声明中使用.

标记和元素

XML文件是由几个XML元素,也称为XML节点或XML的标记结构。 XML元素的名称是由三角支架&LT封闭;与GT;如下所示:

<element>

标签和元素的句法规则

元素句法 :每个XML元素需要被关闭或者与起始或结尾的元素,如下所示:

<element>....</element>

或者在简单的情况下,仅仅是这样:

<element/>

元素的嵌套 :一个XML元素可以包含多个XML元素作为它的孩子,但孩子们的元素不能重叠。例如,一个元件的端标签必须具有相同的名字而最近匹配的开始标记.

下面的例子显示不正确的嵌套标签:

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

下面的示例演示正确的嵌套标签:

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

根元素 :一个XML文档只能有一个根元素。例如,下面是不是一个正确的XML文档,因为无论是X和Y的元素出现在顶层没有一个根元素:

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

下面的例子展示了一个正确的XML文档:

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

区分大小写 :XML的元素名称是区分大小写的。这意味着在启动的名称和端元件必须在同样的巨细写.

例如<contact-info>这是不同于<Contact-Info>.

属性

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

<a href=http://www.jb51.cc/>Yiibai!</a>

在这里href是该属性的名称和http://www.jb51.cc/是属性值

XML属性的句法规则

<a b=x c=y b=z>....</a>
<a b=x>....</a>

在上面的语法,属性值不会下引号定义.

  • 属性名称以XML(不像HTML)是大小写敏感的.HREFandhref这被认为是两个不同的XML属性.

  • 相同的属性不能有一个语法两个值。下面的例子显示,因为该属性指定了两次不正确的句法:

  • 属性名称定义不带引号,而属性值必须始终出现在引号中。下面的例子演示了不正确XML句法:

XML的参考资料

参考通常允许您添加或包含在XML文档中其他文字或标记&,参考资料总是以符号的放大器,这是一个保留字符和符号的”结尾;. XML有两种类型参考:

实体参考 :实体引用包含起始和结束定界符之间的名称.例如&amp;在这里amp是名称. 这个名字指一个预定义的字符串文字或标记.

字符参 :这些包含参考,如&#65;,包含一个hash符号(“#”) 后面跟一个数字. 数总是指一个字符的Unicode代码。在这种情况下,65指的是字母 A.

XML文本

  • XML的元素和XML的属性的名称是区分大小写的,这意味着开始和结束元素的名称必须写在相同的大小写.

  • 为了避免字符编码的问题,所有的XML文件保存为Unicode UTF-8或UTF-16文件.

  • 空白字符,如空格,制表符和XML元素之间和XML的属性之间的换行符将被忽略.

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

不允许的字符 替代实体 字符描述
< &lt; 小于
> &gt; 大于
& &amp; 符号
' &apos; 撇号
&quot; 引号