说在前面的话:
今天2012年4月10日是黑马正式上课的第二天,昨天上课第一天,王昭珽老师满怀激情的讲了一天的XML编程,内容很丰富,信息量也比较大,不过还在可接受的范围之内。老师很牛知识点讲解通俗易懂,语言诙谐幽默,课堂上的氛围很活跃,感觉这样听课,“爽”就一个字。我相信前途是光明的,对未来充满了希望.............
xml编程:
1.xml的作用
2.xml的语法
3.DTD约束
4.用Java语言编写XML数据解析器 JAXP DOM4J
5.XPATH
6.Schema约束
7.Eclipse的基本使用
8.JUnit 单元测试
9.Debug调试
一,XML的作用:
描述数据,传输数据。
二,XML的语法:
1.文档声明:用来标识文档是一个XML文档
最简单的文档声明: <?xml version="1.0"?>
文档声明必须在第一行,前面不能有任何内容,注释和空格,换行也不行
文档声明中的 encoding : <?xml version="1.0" encoding="gbk"?> 用来声明文档被解析时所用的字符编码
不写该属性文档默认是 utf-8编码,XML文档保存时所用的字符编码要和文档声明的字符编码一致
2. 元素:XML文档中的标签,XML文档中的标签必须是闭合的,即必须有结束标签
XML文档中只能用一个根标签
标签必须合理嵌套
XML不会忽略标签中的空格换行
元素名称可以包含 数字,字母,下划线和英文句点
只能以字母或下划线开头
3.属性:属性值一定要用引号引起来(单引号或者双引号)
4.注释:<!--这是注释-->
5.CDATA区:把标签当作普通文本对待
语法格式:<![CDATA[ <a/>]]>
三,DTD约束:
1.格式良好的XML:遵循XML语法的XML文档
有效的xml文档:遵循约束的XML文档
2.作用:约束XML文档的书写规范
3.DTD的语法细节:
3.1DTD的定义
可以将DTD的内容单独定义到一个文档中。但此文档保存时必须使用UTF-8
也 可以将DTD定义在XML文档中(没有编码要求)
<!DOCTYPE 根元素名称 [
DTD定义的内容
]>
3.2DTD(DTD作为单独文件存在)在xml中的引入
a、DTD文档在本地
<!DOCTYPE 根元素 SYSTEM "DTD的存放路径">
b、DTD在公共网络上
<!DOCTYPE 根元素 PUBLIC "DTD文档的名称" "DTD的URL">
3.3定义元素
语法:<!ELEMENT 元素名称 使用规则>
使用规则:
(#PCDATA):标签的主体内容为普通字符串
EMPTY:用于指示元素的主体为空。
(子元素):标签中含有其他的子元素
子元素的细节:
出现次数:
描述子元素的出现次数
+:至少一次
*:0次、一次或多次
?:0次或一次
什么都不带:必须一次且只能一次
出现的顺序:
如果各子元素用逗号分开,必须按照顺序出现
如果各子元素用|分开,任选其一
3.4定义元素属性
语法:<!ATTLIST 元素名
属性名1 属性类型 设置说明
属性名2 属性类型 设置说明
>
语法细节:
属性类型:
CDATA:表示属性的取值为普通的文本字符串
ENUMERATED (DTD没有此关键字):表示枚举,只能从枚举列表中任选其一,如(鸡肉|牛肉|猪肉|鱼肉)
ID:表示属性的取值不能重复
设置说明:
#REQUIRED:表示该属性必须出现
#IMPLIED:表示该属性可有可无
#FIXED:表示属性的取值为一个固定值。语法:#FIXED "固定值"
直接值:表示属性的取值为该默认值
3.5定义实体
作用:用一个名字引用一段内容
引用实体:
概念:在DTD中定义,在XML中使用
语法:<!ENTITY 实体名称 “实体内容”>
在xml中进行引用:&实体名称;
参数实体:
概念:在DTD中定义,在DTD中使用
语法:<!ENTITY % 实体名称 “实体内容”>
引用方式(注意是在DTD中使用):%实体名称;