1. 什么是XML?
XML(eXtensible Markup Language)——可扩展性标记语言
作用:用来传输数据和存储数据(配置文件)。
<?xml version="1.0" encoding="UTF-8"?>
注:XML文档形成了一种“树结构”,它从"根部"开始,然后扩展到"枝叶"
面试:XML与HTML的区别?
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
XML 被设计为传输和存储数据,其焦点是数据的内容。
HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息
2. 什么是DTD?
DTD(Document Type Definition)——文档类型定义
作用:是定义XML文档的合法构建模块。
注:DTD就是个约束,约束XML的书写规范。
3. XML的两种文档约束
DTD 和 Schema。
4.XML格式要求(合法XML)
1)有且只有一个根节点;
2)由开始标签和结束标签组成;
3)XML标签区分大小写;
4)正确嵌套标签;
5)属性值须加引号;
6)特殊符号转义:
&(逻辑与) --> &
>(大于) --> >
<(小于) --> <
‘(单引号) --> '
“(双引号) --> "
7)XML中的空格会做保留,算一个元素。
5.使用DTD
5.1 在XML中加入DTD声明
1)内部声明:
2)外部声明:引用外部dtd文件。
5.2 DTD语法
1)元素定义语法(DTD对元素的限制)
基本语法:<!ELEMENT 元素名称 元素类型>
元素类型:
EMPTY -表示该元素为空元素
(#PCDATA) -表示只有PCDATA的元素,不做延伸,放具体的数据
(e1,e2,e3……) -表示该元素下带有子元素,分别是e1,e2,注意顺序
ANY -表示没有任何内容的元素
(元素名) -表示只出现一次的元素
元素限制:
,(顺序)
|(或)
*(0次或多次)
+(1次或多次)
?(0次或1次)
2)属性定义语法(DTD对属性的限制)
基本语法:
<!ATTLIST 元素名称
属性名称1 属性类型 设置说明
属性名称2 属性类型 设置说明
……
>
属性类型:
CDATA 表示属性值为字符串
(男|女) "男" 表示只能填男或女,默认男
ID 值为唯一的id
ENTITY 表示实体,自学
设置说明:
#REQUIRED 必须设置该属性
#IMPLIED 可以设置也可不设置
#FIXED 说明该属性的取值固定为一个值,需多测试
"默认值"
案例:
1)合法的XML
2)DTD对元素的限制
3)DTD对属性的限制
web.xml文件中的servlet标签出错分析
示例:
<?xml version="1.0" encoding="UTF-8"?><!ELEMENT person (name,sex,age,contact,br?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT sex (#PCDATA)>
<!ELEMENT contact (phone|email)>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT email (#PCDATA)>
<!ELEMENT br EMPTY>
<!ATTLIST person
pid ID #REQUIRED
pname CDATA #IMPLIED
psex (男|女) "男"
>
]>
<persons>
<person pid="a" pname="aaaa" psex="男">
<name>张三</name>
<sex>男</sex>
<age>22</age>
<contact>
<phone>13308082222</phone>
</contact>
<br/>
</person>
<person pid="a1">
<name>李四</name>
<sex>女</sex>
<age>23</age>
<contact>
<email>1234@qq.com</email>
</contact>
</person>
</persons>