• 大小: 11KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: XML  

资源简介

这是一个基于XML操作的学生信息管理小系统,实现了对学生信息的录入,查找,删除等操作。可以说是一个简易的“数据库”综合小应用!

资源截图

代码片段和文件信息

package dao;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import utils.xmlUtils;
import domain.Student;

public class StudentDao {


/**
 * 添加学生信息模块
 * @param student
 */
public void add(Student student) {

try {
Document document = xmlUtils.getDocument();
Element student_node = document.createElement(“student“);
student_node.setAttribute(“examid“ student.getExamid());
student_node.setAttribute(“idcard“ student.getIdcard());
Element name = document.createElement(“name“);
name.setTextContent(student.getName());

Element location = document.createElement(“location“);
location.setTextContent(student.getLocation());

Element grade = document.createElement(“grade“);
// 这里是一个类型转换的隐藏之处。不太明显但是却十分的重要
grade.setTextContent(student.getGrade() + ““);

// 将新生成的三个子节点插入到student标签内
student_node.appendChild(name);
student_node.appendChild(location);
student_node.appendChild(grade);

// 对总的xml文档中添加一个学生信息
document.getElementsByTagName(“exam“).item(0)
.appendChild(student_node);
//将内存中的操作对象写回到xml文件,真正实现对文件的操作
xmlUtils.write2xml(document);
} catch (Exception e) {
// TODO Auto-generated catch block
throw new RuntimeException(e);
}

}

public void delete(String name) {

try {
Document document = xmlUtils.getDocument();
NodeList name_node_list = document.getElementsByTagName(“name“);

for (int i = 0; i < name_node_list.getLength(); i++) {
if (name_node_list.item(i).getTextContent().equals(name)) {
Element person_node = (Element) name_node_list.item(i)
.getParentNode();
Element exam_node = (Element) person_node.getParentNode();
exam_node.removeChild(person_node);
//不要忘记将操作过的数据写回,否则原信息是不会发生变化的
xmlUtils.write2xml(document);
System.out.println(“恭喜,学生信息删除成功!“);
}
}
} catch (Exception e) {
System.out.println(“对不起,删除操作未成功完成!请重试!“);
throw new RuntimeException(e);
}

}

/**
 * 给定学生的考号查找该同学的详细的信息(不用姓名的原因是姓名具有不唯一性)
 * @param examid
 * @return
 */
public Student find(String examid) {
Student student=null;
try {
Document document = xmlUtils.getDocument();
NodeList examid_node_list = document.getElementsByTagName(“student“);

//查找准考证号与查找值相一致的学生节点
for(int i=0; i Element examid_element = (Element) examid_node_list.item(i);
if(examid_element.getAttribute(“examid“).equals(examid.toString().trim())){
//采用非递归的方式获取student的详细信息
student = getStudentInfo(examid_element);
return student;
}else{
continue;
}
}

} catch (Exception e) {
e.printStackTrace();
System.out.println(“对不起,未能正确的找到您要查找的学生的姓名!请确认后重新尝试!“);
}
return student;
}

/**
 * 给定一个节点,采用非递归的方式遍历该学生节点的详细的信息
 * 缺点:不能很好地复用代码,代码维护性较差
 */
public Student getStudentInfo(Element node){
Student studen

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        301  2016-01-20 15:39  StudentSystem\.classpath

     文件        389  2016-01-20 15:39  StudentSystem\.project

     文件        598  2016-01-20 15:39  StudentSystem\.settings\org.eclipse.jdt.core.prefs

     文件       4343  2016-01-20 19:52  StudentSystem\bin\dao\StudentDao.class

     文件       1282  2016-01-20 15:47  StudentSystem\bin\domain\Student.class

     文件        604  2016-01-20 20:04  StudentSystem\bin\Student.xml

     文件       1806  2016-01-20 16:32  StudentSystem\bin\utils\xmlUtils.class

     文件       3173  2016-01-20 17:51  StudentSystem\bin\view\Main.class

     文件       4174  2016-01-20 19:52  StudentSystem\src\dao\StudentDao.java

     文件        776  2016-01-20 15:47  StudentSystem\src\domain\Student.java

     文件        604  2016-01-20 20:04  StudentSystem\src\Student.xml

     文件       1130  2016-01-20 16:32  StudentSystem\src\utils\xmlUtils.java

     文件       2496  2016-01-20 17:51  StudentSystem\src\view\Main.java

     目录          0  2016-01-20 15:47  StudentSystem\bin\dao

     目录          0  2016-01-20 15:41  StudentSystem\bin\domain

     目录          0  2016-01-20 15:51  StudentSystem\bin\utils

     目录          0  2016-01-20 16:12  StudentSystem\bin\view

     目录          0  2016-01-20 15:47  StudentSystem\src\dao

     目录          0  2016-01-20 15:41  StudentSystem\src\domain

     目录          0  2016-01-20 15:51  StudentSystem\src\utils

     目录          0  2016-01-20 16:12  StudentSystem\src\view

     目录          0  2016-01-20 15:39  StudentSystem\.settings

     目录          0  2016-01-20 20:05  StudentSystem\bin

     目录          0  2016-01-20 18:05  StudentSystem\src

     目录          0  2016-01-20 15:39  StudentSystem

----------- ---------  ---------- -----  ----

                21676                    25


评论

共有 条评论