<?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();}//删除  根据学生的idpublic  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());}}

转载于:https://www.cnblogs.com/wangyinxu/p/7402316.html

xml+dom4j+xpath学生管理系统相关推荐

  1. xml解析案例:一个简单的学生管理系统

    1.创建一个xml文件,写一些学生信息 <?xml version="1.0" encoding="UTF-8"?><person> & ...

  2. 05_学生管理系统,xml读写,布局的综合应用

     最终要做的项目目标: 2.编写Android清单文件AndroidManifest.xml <?xml version="1.0" encoding="utf ...

  3. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  4. dom4j 解析xml文件(涉及知识点:dom4j,XPath,递归)

    涉及知识点 :dom4j, XPath, 递归 知识点: 节点是比元素更大一层的概念, 元素节点仅仅是节点中的一种. 元素,属性,名字空间,注释,文本内容,处理指令,还有整个文档(即看成根节点),这7 ...

  5. java管理系统用怎么框架做_java 使用servlet做学生管理系统(无框架)

    使用工具: JavaJDK1.8 32位 Tomcat 8.5.33 32位 IDEA MySQL5.6 使用Jar包: c3p0-0.9.1.2.jar commons-dbutils-1.4.ja ...

  6. java 使用servlet做学生管理系统(无框架)

    使用工具: JavaJDK1.8 32位 Tomcat 8.5.33 32位 IDEA MySQL5.6 使用Jar包: c3p0-0.9.1.2.jar commons-dbutils-1.4.ja ...

  7. Mybatis框架实现简单的学生管理系统

    目录 使用工具 使用jar包 环境搭建 代码示例 java目录 Student.java Common.java IStudentDao.java IStudentDao.xml Main.java ...

  8. spring框架实现一个学生管理系统

    目录 使用工具 使用jar包 环境搭建 代码示例 java目录 Student.java StudentDaoImpl.java IStudentDao.java Main.java StudentS ...

  9. eclipse ssh连接git an error_JSP+SSH+Mysql实现的学生管理系统

    项目简介 项目来源于:https://gitee.com/liu_xu111/javaSSH 本系统基于JSP+SSH+Mysql.在当代开发中,SSH的使用已经逐渐被SSM取代,但不代表我们不需要学 ...

最新文章

  1. android点击失效,android点击无效验证的解决方法
  2. JDBC 2.0中的高级数据类型
  3. 使用axios上传文件+参数
  4. 《算法学习与应用 从入门到精通》——填写运算符
  5. 何时才有Email发布功能
  6. 链路状态路由协议与OSPF
  7. php基础教程(二):基础语法
  8. layui的table实现,strust2+layui+jsp
  9. 为什么DNN的SectionHead Control图片无法显示,也无法折叠
  10. Docker下部署oracle10g
  11. 语音合成IC选型之经验分享
  12. c语言if的作用,c语言if语句的用法
  13. 计算机培训坊主总结,信息技术教学培训心得体会
  14. 了解Google发展的下一代搜索Knowledge Graph:Emily Moxley访谈录
  15. html文本如何逐渐淡入,CSS如何实现文字淡入效果
  16. 韦东山第一二期衔接课程内容概要
  17. Python 赵云被动免伤计算
  18. oracle常见语句(转载)
  19. 解决升级Chrome浏览器之后出现跨域错误:Access to xxx has been blocked by CORS policy: XXXX
  20. 重视六大职场面试礼仪

热门文章

  1. java操作mongodb_Java操作MongoDB
  2. 【若依(ruoyi)】菜单操作SQL
  3. 【uni-app】在新窗口中打开链接
  4. js模块化:require、import和export
  5. 头条的_signature这个如何_今日头条详细页面的cookie加密
  6. mysql实验总结范文_数据库课程设计实验报告范例1
  7. 万网mysql中文乱码_Linux下MySQL出现乱码的解决方法-阿里云开发者社区
  8. java 分句_JAVA按文字,标点符号和引号分割句子
  9. 3d slicer如何下载出radiomics_Lumion 10.0 软件下载及安装教程
  10. matlab充分利用性能,Matlab高性能编程——代码优化和并行计算