1 学生管理系统实现——添加操作
使用xml当作数据库,存储学生信息
创建xml文件,存储一些学生信息。
添加学生信息。
(1)创建解析器
(2)得到document
(3)获取根节点
(4)在根节点上创建stu元素
(5)在stu元素添加 id name age
(6)在 id name age 依次添加值
(7)回写xml
public static boolean addStudent(Student stu) {
try {
Document document = getDocument();
Element root = document.getRootElement();
Element stuNew = DocumentHelper.createElement("stu");
Element idNew = DocumentHelper.createElement("id");
Element nameNew = DocumentHelper.createElement("name");
Element ageNew = DocumentHelper.createElement("age");
idNew.setText("" + stu.getId());
nameNew.setText(stu.getName());
ageNew.setText("" + stu.getAge());
stuNew.add(idNew);
stuNew.add(nameNew);
stuNew.add(ageNew);
root.add(stuNew);
xmlWriters(document);
return true;
}catch(Exception e) {
e.printStackTrace();
}
return false;
}
2 学生管理系统实现——删除操作
private static Element findStuElementById(Document document, long id) {
List<Node> stuIds = document.selectNodes("//stu/id");
for(Node node : stuIds) {
if(Long.parseLong(node.getText()) == id) {
return node.getParent();
}
}
return null;
}
根据学生id删除学生。
(1)创建解析器
(2)得到document
(3)获取到所有id
(4)遍历list集合
(5)判断集合里面的id和传递的id是否相同
(6)如果相同,把id所在的stu删除
public static void removeStudent(long id) throws Exception{
Document document = getDocument();
Element element = StudentControl.findStuElementById(document, id);
Element root = element.getParent();
root.remove(element);
xmlWriters(document);
}
3 学生管理系统实现——查询操作
根据id查询学生信息。
(1)创建解析器
(2)得到document
(3)获取到所有id
(4)返回的是list集合,遍历list集合
(5)得到每一个id的节点
(6)id节点的值
(7)判断id的值和传递的id值是否相同
(8)如果相同,先获取到id的父节点stu
(9)通过stu获得到name age的值
public static Student searchStudent(long id) throws Exception{
Student stu = null;
Document document = getDocument();
Element stuNode = StudentControl.findStuElementById(document, id);
stu = new Student(Long.parseLong(stuNode.element("id").getText()),
stuNode.element("name").getText(),
Integer.parseInt(stuNode.element("age").getText()));
return stu;
}