1. XML概述
-
Extensible Markup Language
可拓展标记语言 -
用途:
- 数据存储,小型数据库,存在一定的CRUD操作可行性
- 网络端数据的传输
- JavaWEB框架项目配置文件
Spring Druid …
w3c万维网联盟指定的规范
2. 基本语法
1、XML文件后缀名是.xml
2、XML第一行是对于当前文件的定义声明
3、XML文件中有且只有一个根标签
4、属性值必须使用引号包含,这里推荐使用双引号
5、标签必须正确匹配,正确开始和关闭
6、XML标签内严格区分大小写
3. XML文件组成部分
- 文档声明:
a. 格式:
version: 当前XML文件版本号
encoding: 编码方式,这里建议XML文件的保存编码集和对应的解析编辑一致。
standalone:是否依赖于其他文件 [了解]
yes 不依赖, no 依赖
- 指令(了解)
这里可以导入一些CSS样式
-
标签内容自定义
规则:
a. 自定义标签允许使用英文字母,数字和其他标点符号(_ - .)
b. 不允许使用数组和标点符号开头,只能用英文字母
c. 不允许在自定义标签内使用xml标记,XML也不行
d. 名字不允许出现空格 -
属性
可以给标签一个属性,有时候要求ID属性是惟一的 -
文本(了解)
CDATA区,所见即所得,CDATA区内容是完整展示的
格式:
4. XML文件数据约束
- DTD
一种简单的约束方式
但是存在一定的约束问题 - Schema
一种复杂XML文件约束方式
非常严谨
4.1 DTD约束
<!-- students 根标签 要求根标签内存放student -->
<!ELEMENT students (student*) >
<!-- student标签包含子标签的内容 -->
<!ELEMENT student (name,age,sex)>
<!-- 所有子标签当前数据都都是文本形式 -->
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!-- ATTLIST Attribute List 属性列表 student id ID -->
<!ATTLIST student id ID #REQUIRED>
例如:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE students SYSTEM "D:\NZ\IEDA\Day25_SL_IDEA\src\com\qfedu\b_dtd\student.dtd">
<!--<!DOCTYPE students [-->
<!-- <!– students 根标签 要求根标签内存放student –>-->
<!-- <