XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是标准通用标记语言。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,可以自己拟定标签,与html的区别是,html是固定的标签,不需要自己拟定。
特点:
1、 mysql关系型数据库,保存数据使用表格;
2、 xml类似于层次型数据库;
3、 html为了显示内容;
4、 xml标记需要自己去创建,html标记是预定义好的;
5、 xml标记语法严格;
6、 仅仅用来存储数据(与样式无关);
XML语法:
ü 在编写XML文档时,需要先使用文档声明,声明XML文档的类型。
ü 最简单的声明语法:
<?xml version="1.0" ?>
ü 用encoding属性说明文档的字符编码:
<?xml version="1.0"encoding="GB2312" ?>
ü 在xml文件中xml元素可以有开始标签和结束标签,也可以只有结束标签,形式如下:
Eg:<h>我爱中国</h> 或 </h>
ü 在一个对标签中也可以嵌套若干子标签,但是不允许交叉标签嵌套,形式如下:
Eg:<h>我爱中国<a>我也爱中国</a></h>
ü XML的命名规则:
ü 不能以数字或"_"(下划线)开头。
ü 不能以xml(或XML、或Xml 等)开头。
ü 区分大小写 eg:<p>和<P>。
ü 不能包含空格。
ü 名称中间不能包含冒号(:)。
ü 在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
ü 遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
语法:<![CDATA [ 内容 ]]>
ü DTD的语法(重点)
格式:<!DOCTYPE 根元素名称 [规则声明]>
规则声明(元素):
1.<!ELEMENT 元素名称 类型>
2.<!ELEMENT 元素名称 EMPTY>:表示空元素
3.<!ELEMENT 元素名称 ANY>:表示可以出现任何内容,也可以为空;
4.<!ELEMENT 元素名称 (子元素声明列表)>:()表示分组,放置允许出现的子元素,并且严格按照声明顺序来使用;
5.<!ELEMENT 元素名称 (#PCDATA)>:表示可以在该元素的内容里放置文本、CDATA,但是不允许出现 & < > ' ";
注意:xml文档出现在同一个文件里叫做内部DTD文档;
DTD规范单独存在于一个文件,外部DTD文档
以下是一个简单的xml内部DTD格式:
Eg :
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE 书架 [
<!ELEMENT书架 (书)>
<!ELEMENT书 (书名,作者,售价)>
<!ELEMENT书名 (ANY)>
<!ELEMENT作者 (ANY)>
<!ELEMENT售价 (#PCDATA)>
]>
<书架>
<书>
<书名>Java就业培训教程</书名>
<作者>redarmy</作者>
<售价>39.00元</售价>
</书>
</书架>