day06_XML_dom_sax_dom4j编程

  1. 回顾

XML文件约束的作用用来限制XML文件里面的标签可以写什么,按什么顺序去写

DTD 约束和 Schema

 

  1. 主要内容介绍

day06_XML_dom_sax_dom4j编程

 

Schema文件只要会引入Schema文件就行了

day06_XML_dom_sax_dom4j编程

 

 

  1. 项目分析

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

把数据封装到Javabean里面,添加等方法把数据从Javabean中取出来,再存入XML文件中

 

 

工具包:是为了把数据存到硬盘上的方法抽出来,写成一个工具类,使每个类都可以调用,而不用再每个类里面都写这个方法

  1. 代码编写

 

day06_XML_dom_sax_dom4j编程

 

***每个类都是一个包

day06_XML_dom_sax_dom4j编程

这里少了一个Bean包***写项目的时候一般先写Bean(bean里面写的是student类,存储学生信息)

day06_XML_dom_sax_dom4j编程

 

XML文件

day06_XML_dom_sax_dom4j编程

 

 

Java代码

 

Bean包:Student类

day06_XML_dom_sax_dom4j编程

 

day06_XML_dom_sax_dom4j编程

输出某类的对象时会自动调用toString()方法

 

 

工具包:JaxpUtils类

day06_XML_dom_sax_dom4j编程

 

 

 

DAO包:StudentDao类

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

 

 

UI交互界面包:StudentUI类

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

 

 

 

 

额外小知识:Action/DAO/Service层

Action像是服务员,顾客点什么菜,菜上给几号桌,都是ta的职责;

      Service是厨师,action送来的菜单上的菜全是ta做的;

      Dao是厨房的小工,和原材料打交道的事情全是ta管。

 

Java中直接输出一个类的对象的时候,会调用这个类的toString()方法,自己写的类没有覆盖这个方法的话就是继承Object类的这个方法。

 

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

 

 

 

  1. Dom4j介绍

day06_XML_dom_sax_dom4j编程

 

  1. DOM4J示例(替换JAXP)

day06_XML_dom_sax_dom4j编程

1、得到某个具体的节点内容 : eg: 拿到金瓶梅的售价

day06_XML_dom_sax_dom4j编程

2、遍历所有元素节点

day06_XML_dom_sax_dom4j编程

 

3、修改某个元素节点的主体内容 eg: 修改金瓶梅的售价为70

day06_XML_dom_sax_dom4j编程

 

 

4、向指定元素节点中增加子元素节点:eg:给葵花宝典的售价增加一个内部价节点 :50

 

day06_XML_dom_sax_dom4j编程

 

 

 

5、向指定元素节点上增加同级元素节点 : eg:给葵花宝典的售价增加一个批发价节点 :60

 

 

 

day06_XML_dom_sax_dom4j编程

6、删除指定元素节点 eg: 删除内部价节点

day06_XML_dom_sax_dom4j编程

 

 

7、操作XML文件属性: eg: 给葵花宝典的书几点增加一个属性: ISBN : "黑马程序员"

 

day06_XML_dom_sax_dom4j编程

 

 

泛型:

day06_XML_dom_sax_dom4j编程

 

  1. 采用Dom4j改造exam项目

加异常的快捷键:Alt+Shift+Z

Exam.xml

day06_XML_dom_sax_dom4j编程

 

 

Bean包:Student类

day06_XML_dom_sax_dom4j编程

 

day06_XML_dom_sax_dom4j编程

输出某类的对象时会自动调用toString()方法

 

工具包:Dom4jUtils类

 

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

day06_XML_dom_sax_dom4j编程

 

day06_XML_dom_sax_dom4j编程

UI交互界面包:(不要用重写,和DOM解析一样的)