一、XML文件的组成
- 文档声明
- 元素
- 属性
- 注释
- CDATA区 、特殊字符
- 处理指令(PI:Processing Instruction)
二、文档声明
1、在编写XML文档时,需要先使用文档声明来声明XML文档。且必须出现在文档的第一行。
2、最简单的语法:
代码语言:javascript复制<?xml version="1.0”?>
3、用encoding属性说明文档所使用的字符编码。保存在磁盘上的文件编码要与声明的编码一致。 如:
代码语言:javascript复制<?xml version="1.0" encoding="GB2312"?>
4、用standalone属性说明文档是否独立,即是否依赖其他文档。 如:
代码语言:javascript复制<?xml version="1.0" standalone="yes”?>
常见错误:
- 编码错误
三、元素(标签)
注意:xml中的标签是可以随意写的跟html不一样,html中的标签是已经固化好了的
1、XML元素指XML文件中出现的标签。一个标签分为起始和结束标签(不能省略)。一个标签有如下几种书写形式: 包含标签主体:some content 不含标签主体: 2、一个标签中可以嵌套若干子标签,但所有标签必须合理的嵌套,不允许有交叉嵌套。 WRONG 3、一个XML文档必须有且仅有一个根标签,其他标签都是这个根标签的子标签或孙标签。
4、对于XML标签中出现的所有空格和换行,XML解析程序都会当作标签内容进行处理。例如:下面两段内容的意义是不一样的。
5、由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
6、一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
- 区分大小写,例如, 和 是两个不同的标记。
- 不能以数字或"_" (下划线)开头。
- 不能以xml(或XML、或Xml 等)开头。
- 不能包含空格。
- 名称中间不能包含冒号(:)。
四、属性
- 一个元素可以有多个属性,每个属性都有它自己的名称和取值,例如:<mytag name=“value” …/>
- 属性值一定要用引号(单引号或双引号)引起来。
- 属性名称的命名规范与元素的命名规范相同
- 元素中的属性是不允许重复的
- 在XML技术中,标签属性所代表的信息也可以被改成用子元素的形式来描述,例如:
<mytag>
<name>
<firstName/>
<lastName/>
</name>
</mytag>
五、注释
XML中的注释语法为: 注意: XML声明之前不能有注释 注释不能嵌套
六、转义字符
对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。
七、CDATA区
CDATA是Character Data的缩写 作用:把标签当做普通文本内容; 语法:
示例:
代码语言:javascript复制<![CDATA[
<tyschool>www.tyschool.con</tyschool>
]]>
以上==www.tyschool.con==被当做普通文本而不是标签
八、处理指令
处理指令,简称PI(Processing Instruction)。 作用:用来指挥软件如何解析XML文档。 语法:必须以“”作为开头,以“?>”作为结尾。 常用处理指令:
XML声明:
代码语言:javascript复制<?xml version="1.0" encoding="GB2312”?>
xml-stylesheet指令:
代码语言:javascript复制<?xml-stylesheet type="text/css" href="some.css"?>
<!--注:对中文命名的标签元素不起作用-->
九、XML语法规则总结
- 所有 XML 元素都须有关闭标签
- XML 标签对大小写敏感
- XML 必须正确地嵌套顺序
- XML 文档必须有根元素(只有一个)
- XML 的属性值须加引号
- 特殊字符必须转义 — CDATA
- XML 中的空格、回车换行解析时会被保留