XML:
- 可扩展标记语言
- 使用简单的标记来描述数据
编辑器:
-记事本
-Dreamwaver
-XMLspy
-eclipse
格式良好的XML文档
A)声明信息,用于描述xml的版本和编码方式
<?xml version=”1.0” encoding=”UTF-8”?>
B)xml有且仅有一个根元素(元素-由开始标签、元素内容和结束标签组成)
C)标签大小写敏感
D)属性值用双引号
E)标签是成对的,而且正确嵌套
F)注释的写法:<!-- **** -->
有效的XML文档
- 格式良好
- 使用DTD和XSD(XML Schema)定义语句约束
DTD:
A) 文档类型定义
B) 用于约束XML的文档格式,保证XML是一个有效的文档
C) DTD可以分为两种,内部DYD,外部DTD
- 使用DTD
A) 内部DTD的定义
<!DOCTYPE 根元素[元素声明]>
B) 元素声明语法
<!ELEMENT 元素名(子元素[,子元素.. ..])>
C) 数量词
+:表示出现1次或多次
?:表示出现0次或1次
*:表示出现任意次
D)属性声明语法
>属性类型:CDATA,表示字符数据
>默认值:
-#REQUIRED,表示必须出现
-#IMPLIED,表示不是必须出现
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
D) 内部DTD的完整XML代码
外部DTD
A) 创建一个独立的DTD文件
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT scores (student+)>
<!ELEMENT student (name,course,score)>
<!ATTLIST student id CDATA #IMPLIED>
<!ELEMENT name (#PCDATA)>
<!ELEMENT score (#PCDATA)>
<!ELEMENT course (#PCDATA)>
B) 在XML文档中引入DTD文件
<!DOCTYPE scores SYSTEM "scores.dtd">
XSD(不重要)
-XML Schema是DTD的替代者
-可以定义XML文档的结构、规范文档的内容
-XSD本身也是XML文档
-XSD采用XML文档来定义予以约束,较为复杂但是功能强大
XML的解析
对XML文件进行操作,包括创建XML,对XML文件进行增删改查操作。
- DOM解析
官方提供的解析方式,基于XML树结构,比较耗资源,适用于多次访问XML。 - SAX解析
民间的解析方式,基于事件,消耗资源小,适用于数据量较大的XML - JDOM解析
第三方提供的解析方式,开源免费,比DOM解析更快,仅使用具体的类而不使用接口。 - DOM4J
为Java提供的一种解析方式,是JDOM的升级版,开源免费。性能远超sun公司官方的dom技术。
DOM4J解析XML文件
解析XML的入口,是需要先拿到一个叫Document对象