XML语法:参考于http://www.w3school.com.cn/xml/xml_syntax.asp
1. xml元素
1.1 XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。所有XML元素都必须有关闭标签XML 声明没有关闭标签。因为声明不属于XML本身的组成部分。它不是 XML 元素,也不需要关闭标签。例子:
<?xml version="1.0" encoding="ISO-8859-1"?>
2. xML元素(标签和属性名称)命名规则
XML 元素必须遵循以下命名规则:名称可以含字母、数字以及其他的字符
名称不能以数字或者标点符号开始
名称不能以字符 “xml”(或者 XML、Xml)开始
名称不能包含空格
可使用任何名称,没有保留的字词。
3. XML标签对大小写敏感
XML标签对大小写敏感,必须使用相同的大小写来编写打开标签和关闭标签。例子:XML标签错误写法:
<Message>这是错误的。</message>
XML标签正确写法:
<message>这是正确的。</message>
4. XML 文档必须有根元素
XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。例子:
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
5. XML属性
XML元素可以在开始标签中包含属性。属性提供元素中不属于数据组成部分的额外(附加)信息。xml元素的属性值须加引号,不过单引号和双引号均可使用。
例子:
<note date="08/08/2008">
<to>George</to>
<from>John</from>
</note>
或
<note date='08/08/2008'>
<to>George</to>
<from>John</from>
</note>
注释:如果属性值本身包含双引号,那么有必要使用单引号包围它,就像这个例子:
<gangster name='George "Shotgun" Ziegler'>
或者可以使用实体引用:
<gangster name="George "Shotgun" Ziegler">
原则:
5.1 尽量使用元素来描述数据。而仅仅使用属性来提供与数据无关的信息。如果属性提供的信息感觉起来很象数据,优先使用子元素。
5.2 有时候会向元素分配ID引用来标识不同的子元素。这里的ID最好存储为属性,因为它并不是数据的组成部分。
例子:
<messages>
<note id="501">
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>
<note id="502">
<to>John</to>
<from>George</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
6. 实体引用
在XML中某些字符不能用在XML元素中,使用时需要用实体引用代替,否则可能发生解析错误。在XML中,有5个预定义的实体引用
< | < | 小于 |
> | > | 大于 |
& | & | 和号 |
' | ' | 单引号 |
" | " | 引号 |
注释:在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是但是用实体引用来代替它是一个好习惯。
例子:
<message>if salary < 1000 then</message>
7. XML中的注释
XML中如果需要写注释,需要在注释前面加!例子:
<!-- This is a comment -->
8. 在XML中,空格会被保留
HTML会把多个空格合并为一个。例子:
HTML: Hello my name is David.
输出: Hello my name is David.
在 XML 中,文档中的空格不会被删节。