前言
继续记录javaweb学过的东西
1.什么是xml
XML:eXtensible Markup Language,可扩展标记性语言
和html一样,xml也是使用标签
标记性语言:html就是标记性语言
可扩展:html中每个标签是固定的,每个标签都有其特定的含义
但是xml中的标签是可以自己定义的
2.xml用途和介绍
html是用于显示数据,xml也可以显示数据(但这不是xml的主要功能)
xml的主要功能是存储数据,传输数据
xml是W3C组织发布的技术
xml有两个版本:1.0,1.1,一般使用1.0版本,因为1.1版本不能向下兼容
3.xml的应用
(1)不同的系统之间传输数据
比如qq之间数据的传输
(2)用来表示生活中有关系的数据
一些树形数据或者有包含关系的数据都可以用xml的标签来表示
(3)应常用在配置文件中
比如连接数据库,需要知道数据库的用户名和密码,数据名称,xml作为配置文件很方便
1.xml文档声明
创建一个文件,后缀名为.xml
要写xml,第一步必须要有一个文档声明(写了文档声明之后,表示写xml文件的内容)
文档声明必须写在xml文件的第一行第一列!
xml中文乱码问题,保存时候的编发和设置打开时候的编码一致即可
2.xml定义元素(标签)
元素(标签)定义,下文统称标签:
(1)标签的定义有开始必须有结束
(2)如果标签没有包含标签的内容,则可以在标签内结束
(3)标签可以有嵌套,但是必须要合理嵌套,不能交叉嵌套
(4)一个xml必须有且仅有一个根标签,其他的标签必须是这个标签下面的子标签等
(5)xml中的空格和换行都会被当作内容解析
标签的命名规则:
(1)xml是区分大小写的
(2)标签名称不能以数字或下划线开头
(3)不能以xml,XML,Xml开头
(4)xml的标签不能包含空格和冒号
(5)xml标签可以是中文
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】
3.xml属性的定义
属性定义的要求:
(1)一个标签上可以有多个属性
(2)一个标签上两个属性的名称不能相同
(3)属性和属性值之间用等号,属性的属性值用引号引起来
(4)属性的命名规范和标签相同
4.注释,特殊字符
注释:
写法:
注意:注释是不能嵌套的,也就是注释之中时不能再写注释的
助事业不能放在第一行第一列,因为这个地方必须放文档声明
特殊字符:
如果想要在xml中显示a
5.CDATA区
可以解决多个字符都需要转义的操作
把这些内容都放到CDATA区之中,就不需要再额外转义了
CDATA写法:
1
6.PI指令
PI指令也叫处理指令
可以再xml中设置样式(比如css等)
写法:
1
注意:PI指令对中文的标签元素是不起作用的
注意:PI指令对中文的标签元素是不起作用的
1.为什么需要约束
比如现在定义一个person的xml文件,只想要在这个文件中保存person相关的信息,但是如果xml文件中写了猫的标签,我们会发现也会正常显示,因为这个写法符合xml的语法规范,但是猫肯定不是person相关的信息。因此,xml需要引入约束
2.xml的约束技术
dtd约束,其中dtd为英文Document Type Definition,中文意思为“文档类型定义”。
schema约束
1.dtd快速入门:
创建一个文件 后缀名是.dtd
步骤:
(1)看xml中有多少个元素,有几个元素,在dtd文件中写几个
(2)判断元素是简单元素还是复杂元素
简单元素:没有子元素
复杂元素:有子元素
(3)在xml文件中引入dtd文件
注意:打开xml文件使用浏览器打开的,浏览器只负责校验xml的语法,不负责校验约束
如果想要校验xml的约束,需要使用工具(可以使用myeclipse的工具)
打开myeclipse开发工具
创建一个项目
在src目录下创建一个xml文件和dtd文件
当xml文件引入了dtd文件之后,会检查xml和dtd的匹配,若不匹配则会报错
2.dtd文件的三种引用方式
(1)引用外部dtd文件
(2)直接在内部写dtd
(3)使用网络上的dtd文件
3.使用dtd定义元素
语法:
4.使用dtd定义属性
语法
【如果大家对程序员,web前端感兴趣,想要学习的,关注一下小编吧。加群:731771211。免费赠送web前端系统的学习资料!!前端学习必备公众号ID:mtbcxx】