使用Xml简单实现学生管理系统

来源:互联网 发布:软件开发的发展趋势 编辑:程序博客网 时间:2024/05/18 18:14

实现简单的学生管理系统

** 使用xml当做数据库,存储学生信息

** 创建一个xml文件,写一些学生信息


** 增加操作

/*
* 1、创建解析器
* 2、得到document
* 3、获取到根节点
* 4、在根节点上面创建stu标签
* 5、在stu标签上面依次添加id name age
** addElement方法添加
* 6、在id name age上面依次添加值
* setText方法
* 7、回写xml
* */
public static void add(Student s) throws Exception {
SAXReader sa = new SAXReader();
Document d = sa.read(“src/student.xml“);
Element root = d.getRootElement();
Element stu = root.addElement(“stu“);
Element id1 = stu.addElement(“id“);
Element name = stu.addElement(“name“);
Element age = stu.addElement(“age“);
id1.setText(s.getId());
age.setText(s.getAge());
name.setText(s.getName());
OutputFormat f = OutputFormat.createPrettyPrint();
XMLWriter xw = new XMLWriter(new FileOutputStream(“src/student.xml“), f);
xw.write(d);
xw.close();
}
这里写图片描述


删除操作(根据id删除)

/*
* 1、创建解析器
* 2、得到document
*
* 3、获取到所有的id
* 使用xpath //id 返回 list集合
* 4、遍历list集合
* 5、判断集合里面的id和传递的id是否相同
* 6、如果相同,把id所在的stu删除
* */
public static void delete(String id) throws Exception {
SAXReader sa = new SAXReader();
Document d = sa.read(“src/student.xml“);
List list = d.selectNodes(“//id“);
for (Node node : list) {
if(node.getText().equals(id))
{
Element student = node.getParent().getParent();
student.remove(node.getParent());
}
}
OutputFormat f = OutputFormat.createPrettyPrint();
XMLWriter xw = new XMLWriter(new FileOutputStream(“src/student.xml“), f);
xw.write(d);
xw.close();
}


查询操作(根据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 getStu(String id) throws Exception {
SAXReader sa = new SAXReader();
Document d = sa.read(“src/student.xml“);
List list = d.selectNodes(“//id“);
Student s = new Student();
for (Node node : list) {
if(node.getText().equals(id))
{
Element stu = node.getParent();
Element agev = stu.element(“age“);
Element namev = stu.element(“name“);
s.setAge(agev.getText());
s.setName(namev.getText());
s.setId(id);
}
}
return s;
}

原创粉丝点击