XML语法规则

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 &lt; 1000</message>

这是XML中的5个预定义实体引用:

实体引用 字符 含义
&lt; < less than
&gt; > greater than
&amp; & ampersand
&apos; ' apostrophe
&quot; " quotation mark

在XML中只有<和&严格是非法的,但是用&gt替换>也是一个好习惯。

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

原文地址:https://www.cnblogs.com/laop520/p/13738928.html