一,XML的概述及与HTML区别
可扩展标记语言(Extensible Markup Language),是一种用于表示和传输数据的标记语言。XML采用了类似HTML的标记语法,但不同于HTML的是,XML的标记是自定义的,可以根据需要任意扩展。XML主要用于数据的存储、传输和交换,它是许多应用程序之间的通用数据格式。XML常用于Web Services、配置文件、文档、数据库交换等领域。
1.1 XML与HTMl区别
各有各的特色
1.HTML标签语言语法松散,XML语法严格,区分大小写
2.HTML主要是做页面传输(数据外观),XML主要是做数据传输的(数据内容)
3.HTML所有标签都是定义好的,XML所有标签都是自定义的
4.XML 只被设计用来结构化、存储以及传输信息。
1.2 XML的作用
- XML可以作为配置文件,JavaEE框架,SSM框架 大部分都是使用的XML作为配 置文件的
- XML可以存储数据,作为数据交换的载体【使用XML格式进行数据的传输】
二,XML的一些元素和属性讲解
2.1了解元素:
在使用DTD前必须引用<?xml version="1.0" encoding="UTF-8"?>且出现0行0列
提示:此行代码最前面<不能有空格
2.1.1 DTD注意事项:
- 元素是XML中最重要的组成部分,元素也叫做标签
- 标签分为开始标签和结束标签,开始标签<begin>的话,那么结束标签必须是配套 的</begin>来结束
- 开始标签和结束标签中间写的是标签内容,标签内容可以是文本,也可以是其他子 标签【子标签】
- 如果标签没有任何内容,那么可以定义为空标签<begin/>
- 标签可以嵌套,但是不能乱嵌套,保证父与子的盒子的逻辑关系
- 一个XML文件只有一个根标签
- 标签名必须符合标识符的命名规则
- 命名规则:
不能使用XML、xMl、XmL....类似的单词
不能使用空格、冒号等特殊符号
区分大小写
数字不能开头
2.2元素的定义:
注意:根标签只能有一个
语法:<!DOCTYPE 标签名[
定义约束语句
]>
2.2.1约束定义:
1,<!ELEMENT 元素名 EMPTY>//空元素 例如:</br>
2 ,<!ELEMENT 元素名 (#PCDATA)> ----文本元素 例如:<name>张小明</name>
3,<!ELEMENT 元素名 (元素1,元素2)> ---混合元素
2.2.2元素的限制:
1,?0或1个
2,* 0到多个
3,+ 1到多个
4,(,)与(|)或
案例:
上方图代码中,已经给所有的便签设置元素的定义,添加标签就会报错如下图添加了一个<dog>标签就报错了
报错原因,因为在person元素标签中已经约束了标签,所以不能添加约束之外的标签,如果没有约束就能随意添加自定义标签
2.3属性定义
2.3.1属性概念:在标签中定义属性
2.3.2属性语法:
<!ATTLIST 元素名 属性名 属性类型
描述
>
2.3.3属性类型:
- ID 表示唯一
- (男|女)'男' 二选一,默认男
- CDATA 文本类型
- IDREF 依赖 引用已经出现过的类型
2.3.4属性描述:
1,#REQUIRED 必填
2,#IMPLIED 非必填
3,'默认值' (当没有写属性值时,默认值替补上去)
案例:
报错原理:
在上图报错原因在标签中以及没有定义qq属性,类别及是否为空。这就是DTD的作用,自定义的标签属性约束,操作时无法再定义别的标签和属性
三,总结
想要提高XML框架的效率,需要提前把元素分类规则和属性限制给定义好,XML的规则是非常严谨的,
好啦,DTD的分享就到这啦,感谢阅读!!!