最新的Web开发教程
 

XML语法规则


XML的语法规则非常简单的逻辑。 规则很容易学习,而且易于使用。


XML文档必须有根元素

XML文档必须包含一个元素,它是parent的所有其他元素:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

在这个例子中<注>是根元素:

<?xml version="1.0" encoding="UTF-8 " ?>
<note>
  <to>Tove</to>
  <from>Jani</from>
  <heading>Reminder</heading>
  <body>Don't forget me this weekend!</body>
</note>

该XML序言

这条线被称为XML 序言

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

该XML序言是可选的。 如果它存在,它必须是第一个在文档中。

XML文档可以包含国际字符,如挪威的OA或法语EE。

为了避免错误,应指定使用的编码,或XML文件保存为UTF-8。

UTF-8是XML文档的默认字符编码。

字符编码可以在我们进行研究的字符集教程

UTF-8也是HTML5,CSS,JavaScript的,PHP和SQL的默认编码。


所有的XML元素必须有一个结束标记

在HTML中,某些元素可能会工作得很好,即使缺少结束标记:

<p>This is a paragraph.
<br>

在XML中,它是非法的省略结束标记。 所有元素都must有结束标签:

<p>This is a paragraph.</p>
<br />

该XML序言没有关闭标签。
这不是错误。 序言不是XML文档的一部分。


XML标记区分大小写

XML标记区分大小写。 标签<Letter>是从标签不同的<letter>

开始和结束标记必须使用相同的情况下写的:

<Message>This is incorrect</message>
<message>This is correct</message>

“打开和关闭标签”往往被称为"Start and end tags" 。 使用任何你喜欢。 它是完全一样的东西。


XML元素必须正确嵌套

在HTML中,您可能会看到不正确嵌套的元素:

<b><i>This text is bold and italic</b></i>

在XML中,所有元素都must正确地相互嵌套:

<b><i>This text is bold and italic</i></b>

在上面的例子中, "Properly nested"只是意味着,自<i>元素被打开里面<b>元素,它必须在内部封闭<b>元素。


XML的属性值须加引号

XML元素可以在名称/值对的属性,就像在HTML。

在XML中,属性值须加引号。

错误:

<note date=12/11/2007>
  <to>Tove</to>
  <from>Jani</from>
</note>

正确:

<note date="12/11/2007">
  <to>Tove</to>
  <from>Jani</from>
</note>

第一个文档中的错误是date的说明元素属性没有加引号。


实体引用

一些字符在XML中的特殊含义。

如果将像一个字符"<" XML元素在里面,它会因为解析器解释为新元素的开始产生错误。

这将产生一个XML错误:

<message>salary < 1000</message>

为了避免这种错误,更换"<"与字符entity reference :

<message>salary &lt; 1000</message>

有五个在XML文档预先定义的实体引用:

&lt; < less than
&gt; > greater than
&amp; & ampersand 
&apos; ' apostrophe
&quot; " quotation mark

只有<和&是XML严格非法的,但它是一个好的习惯来代替>与&GT; 为好。


在XML注释

以XML写的评论的语法类似于HTML的。

<! - 这是注释 - >

在注释中间的两个破折号是不允许的。

不允许:

<!-- This is a -- comment -->

奇怪,但允许:

<!-- This is a - - comment -->

白色空间被保留的XML

XML不会截断多的空格(HTML截断多个白色空格一个单一的空格):

XML: Hello           Tove
HTML: Hello Tove

XML存储新线作为LF

Windows应用程序存储新线:回车和换行符(CR+LF)

Unix和Mac OSX使用LF。

旧Mac系统使用CR。

XML存储新线LF。


良好的XML

符合上述的语法规则的XML文档说是"Well Formed"的XML文档。