本章将带您通过简单的语法规则来编写一个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 Point and (040) 123-4567.
下图描述了语法规则的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.yiibai.com/">Yiibai!</a>
在这里 href 是该属性的名称和 http://www.yiibai.com/ 是属性值
XML属性的句法规则
<a b="x" c="y" b="z">....</a>
<a b=x>....</a>
在上面的语法,属性值不会下引号定义.
-
属性名称以XML(不像HTML)是大小写敏感的. HREF and href 这被认为是两个不同的XML属性.
-
相同的属性不能有一个语法两个值。下面的例子显示,因为该属性指定了两次不正确的句法:
-
属性名称定义不带引号,而属性值必须始终出现在引号中。下面的例子演示了不正确XML句法:
XML的参考资料
参考 通常允许您添加或包含在XML文档中其他文字或标记 "&" ,参考资料总是以符号的放大器,这是一个保留字符和符号的”结尾 ";". XML有两种类型参考:
实体参考 : 实体引用包含起始和结束定界符之间的名称.例如 & 在这里 amp 是 名称. 这个名字指一个预定义的字符串文字或标记.
字符参 : 这些包含参考,如 A,包含一个hash符号(“#”) 后面跟一个数字. 数总是指一个字符的Unicode代码。在这种情况下,65指的是字母 "A".
XML文本
-
XML的元素和XML的属性的名称是区分大小写的,这意味着开始和结束元素的名称必须写在相同的大小写.
-
为了避免字符编码的问题,所有的XML文件保存为Unicode UTF-8或UTF-16文件.
-
空白字符,如空格,制表符和XML元素之间和XML的属性之间的换行符将被忽略.
-
有些字符由XML语法本身保留。因此,它们不能被直接使用。要使用它们,一些更换,实体使用,这在下面列出:
不允许的字符 | 替代实体 | 字符描述 |
---|---|---|
< | < | 小于 |
> | > | 大于 |
& | & | 符号 |
' | ' | 撇号 |
" | " | 引号 |