学生管理系统增删查基本操作(dom4j/sax技术)

基本代码:

student.xml

<?xml version="1.0" encoding="UTF-8"?>
<student>
 <stu>
    <id>100</id>  
    <name>猴哥</name>  
    <age>20</age>
  </stu>  
  <stu>
    <id>200</id>  
    <name>超儿</name>  
    <age>25</age>
  </stu>  
  <stu>
    <id>300</id>  
    <name>唐僧</name>  
    <age>30</age>
  </stu>
</student>

studentClass.java

package example5;
public class studentClass {
    private String id;
    private String name;
    private String age;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public String toString() {
        return "studentClass [id=" + id + ", name=" + name + ", age=" + age + "]";
    }  
}
student.java

package example5;

import java.io.FileOutputStream;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

class student {
    // 添加操作
    public static void addStu(studentClass studentClass) throws Exception {
        SAXReader saxreader = new SAXReader();
        Document document = saxreader.read("src/example5/student.xml");
        Element root = document.getRootElement();
        Element stu = root.addElement("stu");
        Element id1 = stu.addElement("id");
        Element name1 = stu.addElement("name");
        Element age1 = stu.addElement("age");
        id1.setText(studentClass.getId());
        name1.setText(studentClass.getName());
        age1.setText(studentClass.getAge());
        // 回写xml
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/example5/student.xml"), format);
        xmlWriter.write(document);
        xmlWriter.close();

    }

    // 删除操作
    public static void deleteStu(studentClass studentClass) throws Exception {
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/example5/student.xml");
        Element root = document.getRootElement();
        Element stu = root.element("stu");
        root.remove(stu);

        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/example5/student.xml"), format);
        xmlWriter.write(document);
        xmlWriter.close();
    }

    // 查询操作

    //获取解析器

    //获取document对象

    //获取id,遍历id结点

    //与传入的id进行比较,若是相等,获取父节点

    //通过父节点取值传值
    public static studentClass getStu(String id) throws Exception {
        SAXReader saxReader = new SAXReader();
        Document document = saxReader.read("src/example5/student.xml");
        List<Node> list = document.selectNodes("//id");
        studentClass student = new studentClass();
        for (Node node : list) {
            String id1 = node.getText();
            if (id1.equals(id)) {
                Element stu = node.getParent();
                String name1 = stu.element("name").getText();
                String age1 = stu.element("age").getText();
                student.setId(id1);
                student.setName(name1);
                student.setAge(age1);
            }
        }
        return student;

    }
}

testStu.java

package example5;
class testStu {
    public static void main(String[] args) throws Exception {
        //testAdd();
        /*studentClass stu=new studentClass();
        student.deleteStu(stu);*/
        getStu();
    }

    public static void testAdd() throws Exception {
        studentClass stu = new studentClass();
        stu.setId("300");
        stu.setName("唐僧");
        stu.setAge("30");
        student.addStu(stu);
    }
    public static void getStu() throws Exception {
        studentClass stu=student.getStu("200");
        System.out.println(stu.toString());
    }
}

原文地址:https://www.cnblogs.com/aasu/p/9186235.html