1、什么是XML
XML全称为Extensible Markup Language, 意思是可扩展的标记语言,它是 SGML(标准通用标记语言)的一个子集。
XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。
W3C在1998年2月发布1.0版本;
W3C在2004年2月发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没有人用。同时,在2004年2月W3C又发布了1.0版本的第三版。我们要学习的还是1.0版本!!!
2、W3C组织
W3C是万维网联盟(World Wide Web Consortium)英文的缩写,它成立于1994年10月,以开放论坛的方式来促进开发互通技术(包括规格、指南、软件和工具),开发网络的全部潜能。万维网联盟(W3C)从1994年成立以来,已发布了90多份Web技术规范,领导着Web技术向前发展。
W3C认为自身不是官方组织,因此将它正式发布的规范称为推荐(建议)标准,意思是进一步标准化的建议,但是由于组织自身的权威性往往成为事实上的标准。
3、XML的作用
l 程序的配置文件(这也是最后大家使用XML最常见的目的);
l 数据交换:不同语言之间用来交换数据;
l 小型数据库:用来当数据库存储数据。
4、XML与HTML比较
l HTML的元素都是固定的,而XML可以自定义元素;
l HTML用浏览器来解析执行, XML的解析器通常需要自己来写(因为元素是自定义的);
l HTML只能用来表示网页,而XML可以做的事情很多。
5、XML和properties(属性文件)比较
l 属性文件只能存储平面信息,而XML可以存储结构化信息;
l 解析属性文件只需要使用Properties类就可以了,而解析XML文档是很复杂的。
XML语法概述
l 元素!!!
l 文档声明!!!
1、XML文档展示
1 <?xml version="1.0" encoding="utf-8" standalone="no"?> 2 <students> 3 <student number="1001"> 4 <name>zhangSan</name> 5 <age>23</age> 6 <sex>male</sex> 7 </student> 8 <student number="1002"> 9 <name>liSi</name> 10 <age>32</age> 11 <sex>female</sex> 12 </student> 13 <student number="1003"> 14 <name>wangWu</name> 15 <age>55</age> 16 <sex>male</sex> 17 </student> 18 </students>
XML文档展示
2、XML文档的组成部分
l XML文档声明;重要
l XML处理指令;看完了,就可以忘了!
l XML元素;最重要
l XML特殊字符和CDATA区;一看就会
XML注释。不看都会
XML文档声明
1、什么是xml文档声明
可以把xml文档声明看成是xml文档说明。
最简单的xml文档声明:<?xml version="1.0"?>
注意,XML是区别大小写,这一点不同与HTML!
2、xml文档声明结构
l version属性:用于说明当前xml文档的版本,因为都是在用1.0,所以这个属性值大家都写1.0,version属性是必须的;
l encoding属性:用于说明当前xml文档使用的字符编码集,xml解析器会使用这个编码来解析xml文档。encoding属性是可选的,默认为UTF-8。注意,如果当前xml文档使用的字符编码集是gb2312,而encoding属性的值为UTF-8,那么一定会出错的;
l standalone属性:用于说明当前xml文档是否为独立文档,如果该属性值为yes,表示当前xml文档是独立的,如果为no表示当前xml文档不是独立的,即依赖外部的文件。默认是yes
l 没有xml文档声明的xml文档,不是格式良好的xml文档;
l xml文档声明必须从xml文档的1行1列开始。
XML元素
1、XML元素的格式1
l xml元素包含:开始标签、元素体(内容)、结束标签。例如:<hello>大家好</hello>
l 空元素:空元素只有开始标签,没有元素体和结束标签,但空元素一定要闭合。例如:<hello/>
2、XML元素的格式2
l xml元素可以包含子元素或文本数据。例如:<a><b>hello</b></a>,a元素的元素体内容是b元素,而b元素的元素体内容是文本数据hello。
l xml元素可以嵌套,但必须是合法嵌套。例如:<a><b>hello<a></b>就是错误的嵌套。
3、XML文档的根元素
1 <?xml version = "1.0" encoding = "utf-8" standlone = "no" ?> 2 <studets> 3 <student number = "1001"> 4 <name>zhangsan</name> 5 <age>23</age> 6 <sex>male<sex> 7 </student> 8 </student> 9 <student number = "1002"> 10 <name>zhangsan</name> 11 <age>23</age> 12 <sex>male<sex> 13 </student> 14 </student> 15 </students>
student1.xml,格式良好的
<?xml version="1.0" encoding="utf-8" standalone="no"?> <student number="1001"> <name>zhangSan</name> <age>23</age> <sex>male</sex> </student> <student number="1002"> <name>liSi</name> <age>32</age> <sex>female</sex> </student>
student2.xml,格式非良好的
xml元素的元素体包括文本数据和子元素
例如:<a><b>hello</b></a>
元素的命名规范:
可包含字母、数字以及一些其他可见字符,但区分大小写,不能以数字或者下划线开头,
不能以xml开头:<xml>、<Xml>、<XML>都是错误的;
不能包含空格;
名称中间不能包含冒号:带有冒号的元素名是有特殊含义的
1 <?xml version = "1.0" encoding = "utf-8" standlone = "no" ?> 2 <studets> 3 <student number = "1001"> 4 <name>zhangsan</name> 5 <age>23</age> 6 <sex>male<sex> 7 </student> 8 </student> 9 <student number = "1002"> 10 <name>zhangsan</name> 11 <age>23</age> 12 <sex>male<sex> 13 </student> 14 </student> 15 </students>