基本代码:

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. opencv 从摄像头中读取视频并保存(c++版)

    原文:http://blog.csdn.net/zhongshijunacm/article/details/68947890 OpenCV中的视频操作函数如下表所列: VideoCapture Vi ...

  2. CSS布局之传统方法

    传统的页面布局依赖于盒模型+流动模型(flow)+浮动模型(float)+层模型(layer)来实现页面的布局,具体方法是通过盒模型+display属性+float属性+position属性来加以实现 ...

  3. Sql Server 如何去掉内容里面的Html标签

    DECLARE @str NVARCHAR(MAX)= ' <!DOCTYPE html> <html> <head> </head> <body ...

  4. ADOBE READER把PDF转换成WORD教程

    目前国外很多软件的支持信息都使用PDF方式进行发布,如果没有Adobe  Reader,无法查看其内容,如果没有相关的编辑软件又无法编辑PDF文件.转换为DOC格式则可以实现编辑功能.尽管有些软件也可 ...

  5. msvcr100.dll丢失原因及解决方法

    msvcr100.dll为Visual Studio 2010的一个动态链接库,如果某程序是用它开发出来的,那么该程序的运行就有可能需要此动态链接库.有些程序直接将其打包到了安装目录,并注册,就不会出 ...

  6. vim c++插件clang_complete

    地址 http://www.vim.org/scripts/script.php?script_id=3302 以后应该会用到的,先记下:需要安装clang编译器.

  7. IM

    一.IM技术概念 IM技术全称Instant Messaging,中文翻译"即时通讯",它是一种使人们能在网上识别在线用户并与他们实时交换消息的技术,是电子邮件发明以来迅速崛起的在 ...

  8. 理解Underscore中的flatten函数

    最近是在所在实习公司的第一个sprint,有个朋友又请假了,所以任务比较重,一直这么久都没怎么更新了,这个周末赖了个床,纠结了一会儿决定还是继续写这个系列,虽然比较乏味,但是学到的东西还是很多的. 之 ...

  9. CALayer & bitmap Content

    Working with High-Resolution Images Layers do not have any inherent knowledge of the resolution of t ...

  10. CF587F Duff is Mad

    题目 有趣的思想 首先暴力的话,自然是对每一个询问在\(AC\)自动机上跑一遍\(k\),看看跑出来的节点在\(fail\)树到根的路径上有多少个\(l\)到\(r\)之间的结束标记就好了 我们发现无 ...