学生管理系统实现-删除操作| 学习笔记

简介: 快速学习学生管理系统实现-删除操作。

开发者学堂课程【XML入门 :学生管理系统实现-删除操作】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/873


学生管理系统实现-删除操作

 

1、删除操作,把以下部分删除:

<stu>

<id>103</id>

<name>wangwu< /name>

<age>40</age>

</stu>

可以根据 id 删,也可以根据 name 删,一般都是根据 id 进行删除。

2、//删除 根据学生的 id 删除

注意现在是根据学生 id 删除,要传一个参数。

public static void delStu(string id) {

}

首先前两步是一样的,通过 id 删除这个思想一定要掌握,

/*

*1、创建解析器

*2、得到 document

*

* */

回到  student.xml,现在是要根据 id 进行删除,就等于把传的 id 和这里面的 id 做比较,如果相同,就把以下部分都删掉:

< stu>

<id>100< /id>

<name> zhangsan< / name>

<age>20</age>

</stu>

3、核心的原理就是这么来做,具体是怎么来做,先判断这两个 id 是否相同,获取所有 id,遍历是否相同,如果相同,就把 id 所在的 stu 全都删掉即可。

*3、获取到所有的 id

*使用 xpath//id 返回 list 集合

*5、判断集合里面的 id 和 传递的 id 是否相同

*6、如果相同,把 id 所在的 stu 删除

stu 删除先获取 stu 的父节点 sudent,通过 sudent 删掉,这是它的一个基本的步骤。

4、前两步都是一样的,直接复制。

//创建解析器

SAXReader saxReader = new SAXReader() ;

//得到 document

Document document = saxReader . read("src/student . xml");

第三步:

//获取所有的 id,xpath: //id

list<Node> list = document. selectNodes("//id");

list 导入包 utill,Node 导入包 dom4j

//遍历 list 集合

for (Node node : list) {  //node 是每一个 id 的元素

要判断集合里面的 id 和传递的 id 是否相同

//得到 id 的值

String idv= node . getText();

//判断 idv 和传递的 id 是否相同

if( idv.equals(id)) { //id 相同

// 得到 stu 节点

Element stu = node . getParent( );

相同就要获取 id 的 stu,id 是 stu 的父节点。

//获取 stu 的父节点

Element student = stu. getParent();

要获得 stu 的节点,因为要把 stu 整个都删掉

//刪除 stu

student. remove(stu);

}

}

回写不要写循环里面,因为循环没有完成,如果回写,会有问题。写在循环的外面。

//回写 xml

OutputFormat format = OutputFormat. createPrettyPrint();

XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/student . xml"), format);

xmlWriter . write( document);

xmlWriter . close();

这样就完成了一个删除的操作。

5、首先根据 id 进行删除,先得到所有的 id,遍历 list 集合,得到 node 节点的值和传过来的值做比较,如果这两个值相同,因为需要整个,所以首先需要得到 id 的父节点,得到 stu 的父节点,通过 stu 父节点把整个都删掉,最后进行回写操作,这是一个删除的操作。

6、再写一个方法,有异常抛出去。

//测试删除方法

public static void testDel()throws Exception{

StuService. delStu("103");

}

这样就完成一个删除的操作,调用一下,先把 testadd() 注释掉

//testadd();

testDeL();

现在里面是存在103的,运行,103就没有了,把整个部分都删除了,这就是删除的操作。

7、要重点理解以下这个思想,这是用的最多的一种思想,基本上都会用到这种思想。

*3、获取到所有的 id

* 使用 xpath //id 返回 list 集合

*4、遍历 list 集合

*5、判断集合里面的 id 和传递的 id 是否相同

*6、如果相同,把 id 所在的 stu 删除

相关文章
|
5月前
学生管理系统-登录操作设计
学生管理系统-登录操作设计
40 1
|
前端开发
前端学习笔记202305学习笔记第二十二天-删除操作2
前端学习笔记202305学习笔记第二十二天-删除操作2
50 0
|
前端开发
前端学习笔记202305学习笔记第二十二天-删除操作1
前端学习笔记202305学习笔记第二十二天-删除操作1
48 0
|
索引
基于链表实现的学生管理系统
基于链表实现的学生管理系统
80 0
|
数据可视化 C语言 C++
数据结构实验报告—顺序表的基本操作—学生管理系统
数据结构实验报告—顺序表的基本操作—学生管理系统
364 0
|
NoSQL MongoDB 开发者
文档的删除操作 | 学习笔记
快速学习 文档的删除操作
111 0
文档的删除操作 | 学习笔记
|
Java 测试技术 应用服务中间件
课程管理-删除小节删除视频(功能测试) | 学习笔记
简介:快速学习课程管理-删除小节删除视频(功能测试)
127 0
课程管理-删除小节删除视频(功能测试) | 学习笔记
|
XML 数据格式 开发者
学生管理系统实现-查询操作| 学习笔记
快速学习学生管理系统实现-查询操作。
学生管理系统实现-查询操作| 学习笔记
|
前端开发 Java Nacos
课程管理-删除课程删除视频(最终测试) | 学习笔记
简介:快速学习课程管理-删除课程删除视频(最终测试)
115 0
课程管理-删除课程删除视频(最终测试) | 学习笔记
|
前端开发 数据库 开发者
课程管理-添加和删除小节 | 学习笔记
简介:快速学习课程管理-添加和删除小节
144 0
课程管理-添加和删除小节 | 学习笔记