zoukankan      html  css  js  c++  java
  • xml+dom4j+xpath学生管理系统

    <?xml version="1.0" encoding="UTF-8"?>
    
    <student> 
      <stu> 
        <name>张三</name>  
        <age>16</age>  
        <sex></sex> 
      </stu>  
      <stu> 
        <name>李四</name>  
        <age>18</age>  
        <sex></sex> 
      </stu>  
      <stu> 
        <name>王五</name>  
        <age>17</age>  
        <sex></sex> 
      </stu> 
    </student>
    package cn.itcast.vo;
    
    public class Student {
        private String name;
        private int age;
        private String sex;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String toString(){
            return name+":"+age+":"+sex;
        }
    }
    package student;
    
    import java.io.FileOutputStream;
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    import cn.itcast.vo.Student;
    
    public class StuServer {
        //增加
        public static void addStu(Student s) throws Exception{
            SAXReader sax = new SAXReader();
            Document document = sax.read("src/student.xml");
            Element root = document.getRootElement();
            Element stu = root.addElement("stu");
            Element name = stu.addElement("name");
            Element age = stu.addElement("age");
            Element sex = stu.addElement("sex");
            name.setText(s.getName());
            age.setText(s.getAge()+"");
            sex.setText(s.getSex());
            //回写
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter  xmlwriter = new XMLWriter(new FileOutputStream("src/student.xml"),format);
            xmlwriter.write(document);
            xmlwriter.close();
        }
        //删除  根据学生的id
        public  static void delStu(String name)throws Exception{
            SAXReader sax = new SAXReader();
            Document document = sax.read("src/student.xml");
            List<Node> list=document.selectNodes("//name");
            for(Node node:list){
                String namev = node.getText();
                if(namev.equals(name)){
                    Element stu = node.getParent();
                    Element student = stu.getParent();
                    student.remove(stu);
                }
            }
            //回写
            OutputFormat format = OutputFormat.createPrettyPrint();
            XMLWriter  xmlwriter = new XMLWriter(new FileOutputStream("src/student.xml"),format);
            xmlwriter.write(document);
            xmlwriter.close();
        }
        public static Student selectStu(String name)throws Exception{
            SAXReader sax = new SAXReader();
            Document document = sax.read("src/student.xml");
            List<Node>list = document.selectNodes("//name");
            Student s = new Student();
            for(Node node : list){
                String namev = node.getText();
                if(namev.equals(name)){
                    Element stu = node.getParent();
                    int agev =Integer.parseInt(stu.element("age").getText());
                    String sexv = stu.element("sex").getText();
                    s.setAge(agev);
                    s.setName(namev);
                    s.setSex(sexv);
                }
            }
            return s;
        }
    }
    package cn.itcast.test;
    
    import cn.itcast.vo.Student;
    import student.StuServer;
    
    public class Test {
    
        public static void main(String[] args) throws Exception{
    //        addTest();
    //        delTest();
            selectTest();
    
        }
        public static void  addTest() throws Exception{
            Student s = new Student();
            s.setName("tom");
            s.setAge(20);
            s.setSex("男");
            StuServer.addStu(s);
        }
        public  static void delTest()throws Exception{
            StuServer.delStu("tom");
        }
        public static void selectTest()throws Exception{
            Student student = StuServer.selectStu("王五");
            System.out.println(student.toString());
        }
    
    }
  • 相关阅读:
    词汇表处理脚本
    jLowNote又,我为什么要说又,有bug
    于是按照贴吧某同学的指教,把imageViewer里那个愚蠢的语句改了
    捉到Bug一只,jLowNote里的
    高产赛母猪
    我超喜欢Nimbus风格的!
    专注写记事本三十年
    秒秒钟食言
    别再打了,Java和Python,你们其实都是C
    电话本写完了,发个1.0吧
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/7402316.html
Copyright © 2011-2022 走看看