什么是XML?
Extensible Markup Language,可扩展标记语言。
那标记语言是什么?
用文字做标记表达一些效果或携带一些数据。比如:HTML、XML
我的理解:用倾盆大雨表达雨很大
那XML为什么说是可扩展的呢?
还要从它的产生说起。
XML怎么产生的?
HTML是一种界面技术,定义了70多种标记为了方便在计算机上实现,这些标记也都是固定的,所以不可扩展。随着Web应用的不断发展,HTML的局限性也越来越明显地显现了出来,如HTML无法描述数据、可读性差、搜索时间长等。衍生出了XML,可扩展,不兼容系统之间数据传输方便
XML有什么作用(能帮助我们什么)?
- 标记都是自定义的;
- 包含和传输数据
- 用于交换数据,数据共享。不兼容系统之间交换数据最耗时间,把数据转换成XML格式存储将大大减少交换数据时的复杂性,还可以使这些数据能被不同的程序读取。
- 数据存储简单。XML数据以纯文本格式进行存储,独立;
XML应用在哪些地方?
- 做为系统的配置文件
Spring中applicationContext.xml
Hibemate中的hiberante.cfg.xml
Struts2中的struts.xml
log4j中的log4j.xml
Web应用中的web.xml
Tomcat中的server.xml
- Ajax中传输数据
- Web Services中传输数据
- 异构平台的数据交换与整合
那HTML和XML有哪些差异?
|------------|----------|---------------------|
| | HTML | XML |
| 作用 | 显示数据 | 传输和存储数据 |
| 标记 | 固定 | 不固定 |
| 空格 | 多个时只显示一个 | 输入几个显示几个 |
| 语法 | 无右述要求 | 要求嵌套、配对,并遵循DTD的树形结构 |
| 与数据库关系 | 无直接联系 | 与关系型和层状数据库均可对应和转换 |
| 大小写 | 不区分 | 区分 |
XML和HTML之间有联系吗?是怎4么建立联系的?
结构
树结构。从"根部"开始(必须包含根元素),扩展到"枝叶"
内容必须包含在一个单一元素中。这个单一元素称为根元素,它包含文档中所有文本和所有其他元素
格式良好的XML
格式良好(Well-formed)。
什么叫格式良好?
就是放浏览器不报错,正常显示
通过DTD验证的XML是"合法"的XML
会遵循一下语法规则:文件必须有根元素
文件必须有关闭标签
属性值必须加引号
大小写敏感
元素必须呗正确嵌套
语法规则
①、声明
<?xml version="1.0" encoding="utf-8"?>
version:XML的版本
encoding:XML文件使用的字符编码方法(UTF-8 : 万国码, 可显示各种语言)
②、标签
< >:开始结束标签,所有元素都必须有关闭标签
③、实体引用
为了避免把字符数据和标签中需要用到的一些特殊符号(< > "等等)相混淆,XML还提供了实体引用。
④、注释
<!-- This is a comment -->
约束
有两个:DTD、Schema
为什么要使用约束?
- 防止代码写错
- 编写代码有提示(就不是胡乱一通的写,有规范)
比方说有个id元素,身份证肯定是唯一的,如果没有约束,身份证号重复了怎么办