day02 内省API、BeanUtils 和 XML语法
1.JavaBean及内省相关类的使用
JavaBean(狭义)的定义: 1.私有字段? 2.存取字段的公有方法 3.无参构造函数
?
PropertyDesciptor类的使用:
?
?
2.BeanUtils的使用BeanUtils通过反射技术来存取一个JavaBean的属性 (BeanUtils默认的存取都是使用字符串)
?
......
</xml>
?
5.xml 注释、CDATA、特殊字符、指令1.注释:
<!--?? 注释内容??? -->
?
2.CDATA区
<![CDATA[
原样输出这里的所有内容
]]>
?
3.特殊字符
大于 <
大于 >
取地址符 &
双引号 "
单引号 '
其他特殊字符? &#xNNNN;? N表示四位16进制数
?
4.处理指令
处理指令形如?? <????? ?>
使用css
<?xml-stylesheet? type="text/css"? href="a.css"? ?>
?
6.XML之DTD—ocument Type Definition)语法及使用a.元素类型<?xml version="1.0"?>
<!ELEMENT root?? ANY>????? 表示root标签为任意内容
<!ELEMENT student (name, id)>??? 表示studet标签下按顺序的有name和id标签
<!ELEMENT student (name | id)>??? 表示studet标签下name和id任选一个
<!ELEMENT name??? (#PCDATA)>??? 表示name标签元素是文本类型,
<!ELEMENT tt ? EMPTY>
元素类型
? EMPTY :表示内容是空,例如<br/><hr/>??????
? ANY? :? 表示为任意内容? #PCDATA? :? 文本
?
b.元素组成关系<!ELEMENT student (name, id)>??? 表示studet标签下按顺序的有name和id标签
<!ELEMENT student (name | id)>??? 表示studet标签下name和id任选一个? (可以嵌套括号...)
<!ELEMENT student (name*, id)>? * 表示任意多次????? + 表示一次或多次?? ? ?? 表示0次或一次???? 若无则表示出现1次
?
c.属性定义<!ATTLIST? 元素名
??? 属性名??? 属性类型??? 设置说明
??? ...
>
<!ATTLIST? student
??? name? CDATA? #REQUIRED,
??? age? CDATA? #IMPLIED,
??? country? CDATA? #FIXED "中国",
??? city? CDATA? "深圳"
>
?
属性类型:
? 枚举 :<!ATTLIST 肉
?????????????? 品种? ("鸡肉|牛肉|猪肉")? #REQUIRED? >
? ID? :? 数字下划线开头,对于整个xml唯一 ?
? ? ? ?? <!ATTLIST?
?? ? ? ???? 学生?? 编号? ID?? #REQUIRED>
?
设置说明:
? #REUQRED? :? 表示必须设置这个属性
? #IMPLIED:? 表示可设也可以不设置这个属性
? #FIXED:? 表示该属性为固定值,且要在xml中给出这个值
? 默认? :? 若设置则使用设置值,否则下使用dtd中提供的默认值
?
d.实体Entity定义引用类型的实体:
? 用于xml文件中相同的文本
? <!ENTITY?? 实体名?? 文本>
? 定义在dtd中,使用在xml中, ? &实体名;
?
参数类型的实体
? 用于dtd中相同的文本(元素)
? <!ENTITY? %? 实体名? 文本>
? 定义在dtd中,使用在dtd中, %实体名;
?
e.使用dtd的两种方式单独定义dtd文件(xml文件),在定义内容的xml文件中引用该dtd
?
<?xml version="1.0"?><!DOCTYPE root [<!ELEMENT root (student, teacher)>......]><root><student><name>peter</name></student><teacher></teacher></root>?