1、以如下格式的exam.xml文件为例
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<exam>
<student idcard="111" examid="222">
<name>张三</name>
<location>沈阳</location>
<grade>89</grade>
</student>
<student idcard="333" examid="444">
<name>李四</name>
<location>大连</location>
<grade>97</grade>
</student>
</exam>
2、编程实现如下功能
3、实现学生信息的添加
4、实现学生信息的查询
5、实现学生的删除功能
把XML当做数据库,完成系统的增加、删除、查找功能!
之所以能把XML当做是数据库,是因为XML可以体现数据之间的关系,可以完成整个数据库单独模块内容的操作!
利用三层架构,将程序的功能拆分,某部分代码负责某部分的功能实现!
将整个程序进行拆分:
可以分为:
Utils工具类
UI 界面设计
DAO 具体操作:增删改查
数据库 XML文档!(可以试试txt文本当做数据库,要想办法构建数据之间的联系,方便于整体操作!)
备注:在实际的代码实现阶段,还会需要一个测试类,方便于在整个程序还没有完成的时候对程序的部分功能进行测试,做一步,测试一步,以免整个程序完成后由于页面太多或者是代码量太大给查找错误造成更大的负担!
所以这里会多一个测试类!
XmlUtils类:工具类:得到Document对象和更新文档这些工具性质的操作!
package com.itheima.utils;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
/**
* 工具类:
* 得到document对象
* 更新XML文档
*/
public class XmlUtils {
public static Document getDocument()throws Exception{
//获得Document对象
DocumentBuilder db = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = db.parse("src/exam.xml");
return document;
}
//更新XML文档
public static void write2xml(Document document) throws Exception{
Transformer ts = TransformerFactory.newInstance().newTransformer();
ts.transform(new DOMSource(document), new StreamResult("src/exam.xml"));
}
}
Student对象类:对象数据的存储或传递