基本代码:

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());
    }
}

学生管理系统增删查基本操作(dom4j/sax技术)的更多相关文章

  1. MongoDB的增删查改基本操作

    MongoDB的增删查改基本操作 先决条件建库.建集合.建文档 连接mongo,如果连接不上什么连接拒绝,输入mongod命令,启动服务后 输入mongo show dbs 显示当前的所有的数据库 一 ...

  2. 基于.net的分布式系统限流组件 C# DataGridView绑定List对象时,利用BindingList来实现增删查改 .net中ThreadPool与Task的认识总结 C# 排序技术研究与对比 基于.net的通用内存缓存模型组件 Scala学习笔记:重要语法特性

    基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可 ...

  3. java基础: ArrayList集合应用, ArrayList增删改查详解,综合java基础实现学生管理系统,

    1.ArrayList 集合和数组的区别 : 共同点:都是存储数据的容器 不同点:数组的容量是固定的,集合的容量是可变的 1.1 -ArrayList的构造方法和添加方法 public ArrayLi ...

  4. Elasticsearch使用系列-ES增删查改基本操作+ik分词

    Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 一.安装可视化工具Kibana ES是一个NoSql数据库应用.和其他数据库 ...

  5. JDBC-简单的学生管理系统-增删改查

    结构:三层架构--mvc 三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码封装的问题,为了使程序员更加专注的处理某阶段的业务逻辑. 比如将数据库操作代码封装到一层中,提供一些方法根据参数直 ...

  6. 学生管理系统开发代码分析笔记:jsp+java bean+servlet技术

    1 序言 学习java web的时候很渴望有一份完整的项目给我阅读,而网上的大部分项目拿过来都无法直接用,好不容易找到了一个学生管理系统也是漏洞百出.在此,我将边修改边学习这份代码,并且加上完全的注释 ...

  7. Winform 学生管理系统增删改查

    数据库: create database adonet go use adonet go create table xue ( code ), name ), sex bit, birth datet ...

  8. Sql Server的艺术(一) 视图的增删查改

    视图是从一个或者多个表中查询数据的另一种方式.利用视图可以集中.简化定制数据库,同时还能保障安全. 视图其结构和数据是建立在对应的查询基础上的.和表一样,视图也是包括几个被定义的数据列和多个数据行,但 ...

  9. node.js+express+mongoose实现用户增删查改案例

    node.js+express+mongodb对用户进行增删查改 一.用到的相关技术 使用 Node.js 的 express 框架搭建web服务 使用 express 中间件 body-parse ...

随机推荐

  1. css 三角形的制作

    参考网页: http://www.jb51.net/article/42513.htm 1 .设置宽高为0 2 .设置4条边框 3 .设置边框颜色border-color如下: border-colo ...

  2. ORACLE BACKUP AND RECOVERY

    ORACLE BACKUP AND RECOVERY http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/11g/r2/2day_ ...

  3. 网络分析 ANP

    在许多实际问题中,各层次内部元素往往是依赖的. 低层元素对高层元素亦有支配作用,即存在反馈. 此时系统的结构更类似于网络结构.网络分析法正是适应这种需要,由AHP延伸发展得到的系统决策方法.   AN ...

  4. ZT ---- 给孩子的信(孩子写给爸爸妈妈的信在24、25、26楼)

    胡同口 > 情感 > 婚后空间 > 给孩子的信(孩子写给爸爸妈妈的信在24.25.26楼) 给孩子的信(孩子写给爸爸妈妈的信在24.25.26楼)分享: 腾讯微博 新浪微博 QQ空间 ...

  5. jclass和jobject的迷惑

    [译]jclass和jobject 2012-09-18 15:02:58|  分类: Android |字号 订阅   jclass和jobject的迷惑第一次使用JNI,实例引用(jobject) ...

  6. hdu-1395 2^x mod n = 1---求阶(欧拉函数)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1395 题目大意: 题目中给出输入一个整数n,要求一个最小整数的x,使得2^x mod n=1; 解题 ...

  7. Node.js在windows平台的安装

    nodejs官网:https://nodejs.org/en/ 下载安装: node-v8.4.0-x64.msi 检查 path 中是否已经配置nodejs的安装路径,如果没有要配置. node   ...

  8. Yii 日志组件

    详细的介绍查看官网的document:http://www.yiiframework.com/doc/guide/1.1/en/topics.logging 也可以看 Yii 1.1 Applicat ...

  9. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  10. 一. Selenium介绍

    1. 什么是Selenium 是web自动化测试工具集,主要包括:IDE.Grid.RC(Selenium1.0).WebDriver(Selenium2.0) 与其他工具的不同: 一般的脚本测试工具 ...