1. 对比XML与HTML下图所示:
从图中可以很好的判断出XML的优越性,XML更能显示出清晰的数据结构信息
2. XML与 HTML的区别
1) 元标记:表示从标记上面就可以描述内容本身是什么,比如:<电话>0592-2177777</电话> 从电话这个标记就可以知道里面是电话号码的内容形式。
2)内容描述与现实方式相分离。
3. XML的优点
第三点,XML实现不同来源的数据的集成,这一块说明一下如下图XML_4所示:
图XML_4: 使用 XML 可以实现异构语言、异构平台之间的交互。
4. XML的发展史,XML有两个先驱:SGML和HTML
图XML_5: XML定义的标记语言家族
5. XML1.0的语法,注意现在XML的版本只有1.0,没有其他的版本
1) XML是自描述数据
2)使用现有的国际标准
3) 格式正规的XML(本章主要介绍格式正规的XML的语法规则)
4) 有效的XML
6. XML解析器
通常我们XML在浏览器上运行的时候,XML的解析器就会对XML文档进行解析,所以才有了XML在浏览器中排列规整,可伸缩的预览效果。
1) XML解析器概念:读取XML文档并提供对文档内容的访问的软件模块。
类型:无验证的解析器和验证的解析器
解析器有:IE的MSXML等
7. XML文档
1) 第一行是XML的声明
<?xml version="1.0" standalone = "yes"?>
这是XML处理指令的例子。处理指令以<?开始,而以?>结束。在 <?后的第一个单词是处理指令名,在本例中是XML。表示这是一个XML的文档,当然还有其他的处理指令。
standalone 表示这是一个单独的文档,没有被DTD验证的文档,这个XML文档不需要使用DTD来验证表示这个XML只要语法正确就对,里面的元素可以随便写,而DTD存在的理由是不仅语法上正确,语义上也保持正确。
2) 对于 XML 文档来说,<? 处理指令必须要顶格写,包括?的前面 ?的后面不能有任何的空白。
<?xml version="1.0" standalone = "yes"?>
<students>
<student>
<id>100</id>
<name>lisi</name>
<address>beijing</address>
</student>
<student>
<id>100</id>
<name>lisi</name>
<address>beijing</address>
</student>
</students>
注意: 属性version 是XML本身的属性,而student是自己定义的属性,注意自定义的属性也是可以有属性值,而且一个元素后面可以跟多个属性,多个属性之间用空格隔开。如下first.xml文件所示
<?xml version="1.0" standalone = "yes"?> <students> <student gender="male" isHandsome="true"> <id>100</id> <name>lisi</name> <address>beijing</address> </student> <student gender="female"> <id>100</id> <name>lisi</name> <address>beijing</address> </student> </students>
[说明]: XML 元素可以具有属性,属性的形式为: 属性名=”属性值”,比如 gender=”male”
属性值需要使用单引号或双引号括起来。多个属性之间使用空格分开。
[说明]:它还有另外一个属性叫encoding 就是编码方式,它不写也是可以,默认是utf-8,如下所示:<?xml version="1.0" encoding="utf-8" standalone = "yes" ?>
[说明]:有时候发现带有声明编码方式的文档出现乱码或者没有产生效果的时候,要注意此文件本身的保存方式是否与你什么的编码方式一致,这是经常出现的问题。
[说明]:iso-8859-1是西方的编码方式,无法处理中文,再进行web开发的时候,要统一写成utf-8的编码方式,这样是最好的。
[说明]:XML中的元素也是严格区分大小写的,推荐使用小写。
8. 为XML文档编写样式单
由于用户可以再XML上自由的创建标记,因而通用的浏览器无法预期用户的标记的意义,也无法为显示这些标记而提供规则。因而,用户必须为文档编写样式单,告诉浏览器如何显示特定的标记。当然,样式单也可以被不同的XML文档所共享,还可以与其他人编写的样式单集成在一起。
就为上面的first.xml编写一个样式单hello.css。同时在first.xml中绑定这个样式单
hello.css
students{display: block;font-size: 24pt;font-weight: bold;}
first.xml
<?xml version="1.0" encoding="utf-8" standalone = "yes" ?> <?xml-stylesheet type="text/css" href="hello.css"?> <students> <student gender="male" isHandsome="true"> <id>100</id>