XML文档必须包含一个根元素,该根元素是所有其他元素的父元素.在此示例中,是根元素
<?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 Prolog序言
此行称为XML序言
<?xml version="1.0" encoding="UTF-8"?>
XML序言是可选的。如果存在,则必须在文档中排在第一行。 XML文档可以包含国际字符,例如Norwegianøæå或Frenchêèé。
为避免错误,应指定使用的编码,或将XML文件另存为UTF-8。
字符编码参见Character Set Tutorial
所有XML元素必须具有结束标记
在XML中,省略结束标记是非法的。所有元素必须具有结束标记:
<p>This is a paragraph.</p>
<br />
注意:XML Prolog没有结束标记!这不是错误。序言不是XML文档的一部分。
XML标签区分大小写
XML标签区分大小写。标签
<message>This is correct</message>
“打开和关闭标签”通常称为“开始和结束标签”。
XML元素必须正确嵌套
在HTML中,您可能会看到嵌套不正确的元素:
<b><i>This text is bold and italic</b></i>
在XML中,所有元素必须正确地相互嵌套:
<b><i>This text is bold and italic</i></b>
在上面的示例中,“正确嵌套”仅表示由于<i>
元素在<b>
元素内打开,因此必须在<b>
元素内关闭。
XML属性值必须始终加引号
XML元素可以在名称/值对中具有属性,就像在HTML中一样。 在XML中,属性值必须始终用引号引起来
<note date="12/11/2007">
<to>Tove</to>
<from>Jani</from>
</note>
Entity References实体参考
一些字符在XML中具有特殊含义。 如果在XML元素内放置“ <”之类的字符,则会产生错误,因为解析器会将其解释为新元素的开始。 这将产生一个XML错误:
<message>salary < 1000</message>
为避免此错误,请用实体引用替换“ <”字符:
<message>salary < 1000</message>
这是XML中的5个预定义实体引用:
实体引用 | 字符 | 含义 |
---|---|---|
< | < | less than |
> | > | greater than |
& | & | ampersand |
' | ' | apostrophe |
" | " | quotation mark |
在XML中只有<和&严格是非法的,但是用>替换>也是一个好习惯。
XML注释
用XML编写注释的语法与HTML相似:
<!-- This is a comment -->
注释中间不允许使用两个破折号:
<!-- This is an invalid -- comment -->
XML中空格是保留的
XML不会截断多个空格(HTML将多个空格截断为一个空格):
XML将换行符存储为LF
Windows应用程序将新行存储为:回车和换行(CR+LF)。
Unix和Mac OSX使用LF。
旧的Mac系统使用CR。
XML将新行存储为LF