XML 的语法规则很简单,且很有逻辑。这些规则很容易学习,也很容易使用。
在 HTML 中,某些元素不必有一个关闭标签:
<p>This is a paragraph. |
<br> |
<p>This is a paragraph.</p> |
<br /> |
XML 标签对大小写敏感。标签 <Letter> 与标签 <letter> 是不同的。
必须使用相同的大小写来编写打开标签和关闭标签:
<Message>This is incorrect</message> |
<message>This is correct</message> |
在 HTML 中,常会看到没有正确嵌套的元素:
<b><i>This text is bold and italic</b></i> |
<b><i>This text is bold and italic</i></b> |
XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。
<root> |
<child> |
<subchild>.....</subchild> |
</child> |
</root> |
与 HTML 类似,XML 元素也可拥有属性(名称/值的对)。
在 XML 中,XML 的属性值必须加引号。
请研究下面的两个 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> |
在 XML 中,一些字符拥有特殊的意义。
如果您把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。
这样会产生 XML 错误:
<message>if salary < 1000 then</message> |
<message>if salary < 1000 then</message> |
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。
在 XML 中编写注释的语法与 HTML 的语法很相似。
<!-- This is a comment -->
HTML 会把多个连续的空格字符裁减(合并)为一个:
HTML: | Hello Tove |
Output: | Hello Tove |
在 Windows 应用程序中,换行通常以一对字符来存储:回车符(CR)和换行符(LF)。
在 Unix 和 Mac OSX 中,使用 LF 来存储新行。
在旧的 Mac 系统中,使用 CR 来存储新行。
XML 以 LF 存储换行。