Dom4j实现xml简单的增删改查功能

基于XML文档实现的Java增删改查编程实现 文章目录一、XMl简介二、使用Java对XMl文档进行增删改查1.加载dom4j的jar包(1)加载文档(2)查看文档(3)添加一段内容(4)修改一段内容(5)删除一个Brand对象(6)保存添加修改删除后的内容到文件总结 提示:以下是本篇文章正文内容,下面案例可供参考 一、XMl简介 XML是一种可扩展的标记语言,XMl与操作系统、编程语言的开发平台无关,他可以实现不同系统之间的数据交换。 XML主要应用于数据交互,配置应用程序和网站等,同时它也是Ajax基石。 二、使用Java对XMl文档.. 阅读详情

一个小故事:当年Java准备做对XML的解析时,对解析器的实现方向在内部发生了争执,后来高层没有听从工程师建议,坚持开发出了JDOM,而主要的工程师选择离开Java 按照自己的方式实现,就是DOM4J 。后来结果表明,DOM4J 完胜了JDOM。下面,让我们来了解一下通过DOM4J 实现对XML文件进行增删改查的过程。

1、待解析的XML文件:

[html]  view plain  copy
  1. <span style="font-size:14px;">  
  2. <?xml version="1.0" encoding="utf-8"?>  
  3.   
  4. <students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.         xmlns="http://www.itcast.cn/xml"  
  6.             xsi:schemaLocation="http://www.itcast.cn/xml students.xsd">  
  7.     <student number="ITCAST_1001">  
  8.       <name>zhangSan</name>  
  9.       <age>23</age>  
  10.       <sex>male</sex>  
  11.     </student>  
  12. </students>  
  13.   
  14. </span>  

2、用DOM4J实现增删改查:
[java]  view plain  copy
  1. <span style="font-size:14px;">  
  2. public class Demo3 {  
  3.   
  4.     @Test  
  5.     public void method1() throws Exception {  
  6.         // 创建解析器  
  7.         SAXReader reader = new SAXReader();//这个是用来读取文件内容的  
  8.         Document doc = reader.read(new File("students.xml")); //指定要读取的文件  
  9.         //System.out.println(doc.asXML()); //打印出文件  
  10.     }  
  11.       
  12.     //实现对XML文件的复制  
  13.     @Test  
  14.     public void method2() throws Exception {  
  15.         // 得到Document  
  16.         SAXReader reader = new SAXReader();  
  17.         Document doc = reader.read(new File("students.xml"));  
  18.           
  19.         // 保存Document,指定将写入的目的文件(复制功能)  
  20.         XMLWriter writer = new XMLWriter(new FileOutputStream("students_copy.xml"));  
  21.         writer.write(doc); //开始写入  
  22.     }  
  23.       
  24.     //遍历Document  
  25.     @Test  
  26.     public void method3() throws Exception {  
  27.         // 要遍历文档,首先要得到Document对象  
  28.         SAXReader reader = new SAXReader();  
  29.         Document doc = reader.read(new File("students.xml"));  
  30.   
  31.         //获取根元素  
  32.         Element root = doc.getRootElement();  
  33.         //获取根元素中所有student元素  
  34.         List<Element> stuEleList = root.elements("student");  
  35.         // 循环遍历所有学生元素  
  36.         for(Element stuEle : stuEleList) {  
  37.             //获取学生元素的number  
  38.             String number = stuEle.attributeValue("number");  
  39.             //获取学生元素名为name的子元素的文本内容  
  40.             String name = stuEle.elementText("name");  
  41.             //获取学生元素名为age的子元素的文本内容  
  42.             String age = stuEle.elementText("age");  
  43.             //获取学生元素名为sex的子元素的文本内容  
  44.             String sex = stuEle.elementText("sex");       
  45.             System.out.println(number + ", " + name + ", " + age + ", " + sex);  
  46.         }  
  47.     }  
  48.       
  49.     //添加元素  
  50.     @Test  
  51.     public void method4() throws Exception {  
  52.         // 得到Document  
  53.         SAXReader reader = new SAXReader();  
  54.         Document doc = reader.read(new File("src/students.xml"));  
  55.   
  56.         //获取root元素  
  57.         Element root = doc.getRootElement();  
  58.         Element stuEle = root.addElement("student"); //添加了student元素  
  59.         // 给stuEle添加属性,名为number,值为1003  
  60.         stuEle.addAttribute("number", "1003");   
  61.         // 分别为stuEle添加名为name、age、sex的子元素,并为子元素设置文本内容  
  62.         stuEle.addElement("name").setText("wangWu");  
  63.         stuEle.addElement("age").setText("18");  
  64.         stuEle.addElement("sex").setText("male");  
  65.           
  66.         // 设置保存的格式化器  1. \t,使用什么来完成缩进 2. true, 是否要添加换行  
  67.         OutputFormat format = new OutputFormat("\t", true);  
  68.         format.setTrimText(true); //去掉空白  
  69.         // 在创建Writer时,指定格式化器  
  70.         XMLWriter writer = new XMLWriter(new FileOutputStream("src/students_copy.xml"), format);  
  71.         writer.write(doc);  
  72.     }  
  73.       
  74.     //修改元素  
  75.     @Test  
  76.     public void method5() throws Exception {  
  77.   
  78.         // 得到Document  
  79.         SAXReader reader = new SAXReader();  
  80.         Document doc = reader.read(new File("src/students_copy.xml"));  
  81.   
  82.         //使用XPath找到符合条件的元素  
  83.         // 查询student元素,条件是number属性的值为1003  
  84.         Element stuEle = (Element) doc.selectSingleNode("//student[@number='ITCAST_1003']");  
  85.         //修改stuEle的age子元素内容为81  
  86.         stuEle.element("age").setText("81");  
  87.         //修改stuEle的sex子元素的内容为female  
  88.         stuEle.element("sex").setText("female");  
  89.   
  90.     }  
  91.       
  92.     //删除元素  
  93.     @Test  
  94.     public void method6() throws Exception {  
  95.   
  96.         // 得到Document  
  97.         SAXReader reader = new SAXReader();  
  98.         Document doc = reader.read(new File("src/students_copy.xml"));  
  99.           
  100.         // 查找student元素,条件是name子元素的文本内容为wangWu  
  101.         Element stuEle = (Element) doc.selectSingleNode("//student[name='wangWu']");  
  102.           
  103.         // 2. 获取父元素,使用父元素删除指定子元素  
  104.         stuEle.getParent().remove(stuEle);  
  105.     }  
  106. }  
  107.  </span>  
34、Java——一个案例学会Dom4j解析技术对XML文件的增删改查 使用Dom4j解析技术实现对animal.xml文件进行增删改查操作 阅读详情

相关推荐

掌握dom4j的XML解析技术

在处理XML数据的过程中,Java开发者常常会寻找一个功能强大、性能优秀且易于使用的库来简化开发工作。dom4j正是应运而生的一个开源库,它以简洁的API、对Java集合框架的良好支持以及强大的XPath支持著称,成为处理XML文档的首选工具之一。

weixin_42113456的博客 981

Java Web(五):XML

一、XML概念 1、定义 Extensible Markup Language(可扩展标记语言),标准通用标记语言的子集,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。 2、功能 存储数据配置文件或存储在网络需要传输的数据。 3、与html的区别 XML 被设计用来传输和存储数据,其焦点是数据的内容;HTML 被设计用来显示数据,其焦点是数据的外观。 xml标签都是自定义的...

yu1755128147的博客 230

ROS2+MoveIt2+Gazebo仿真实战:从零搭建六轴机械臂控制闭环

本文详细介绍了如何从零搭建一个完整的ROS2+MoveIt2+Gazebo六轴机械臂仿真控制闭环。通过手写URDF模型、配置MoveIt2运动规划、集成Gazebo物理仿真与ROS2 Control控制器,最终实现RViz中规划轨迹、Gazebo中同步执行的完整数字孪生验证平台,为机器人算法开发和硬件验证提供低成本、高效的仿真解决方案。

weixin_29093017的博客 487

利用dom4j解析相关配置文件并实现mybatis底层源码

目录1.首先要创建一个maven项目,并导入相关依赖(dom4j)2.在src\main\resources目录下创建一个mybatis.xml主配置文件和UserMapper.xml映射配置文件。2.1 mybatis.xml2.2 UserMapper.xml3.然后在src\main\java目录下编写相关类,详细说明已在注释中写出3.1 User类3.2 Configuration类3.3 UserMapper类 4.在src\test\java目录下创建一个测试类CustomerParseTest

Funny54的博客 726

AI变现案例实战系列4:AI数字员工团队——用OpenClaw搭建6个智能体,自动运营你的赚钱系统

摘要:谷歌AI产品经理Shubham Saboo利用OpenClaw搭建6人AI团队,实现内容创作、技术开发等任务自动化,每月成本不足400美元。文章对比阿里云和Windows本地两种部署方案,提供详细配置指南。通过多Agent架构实现物理隔离与精准协作,可创建6个专业AI角色(如研究员、运营、工程师等),每个Agent专注单一任务,避免记忆负担和上下文污染问题。阿里云方案适合长期稳定运行,Windows本地部署则适合零成本测试。最终可组建高效AI团队,实现7x24小时无人值守运营。(149字)

小明的博客 1141

Anolis OS 23实战:5分钟搞定AI环境配置(含NVIDIA驱动一键安装)

本文详细介绍了如何在Anolis OS 23上快速配置AI开发环境,包括NVIDIA驱动的一键安装和TensorFlow、PyTorch等AI框架的部署。通过智能硬件适配引擎和优化后的二进制包,用户可在5分钟内完成传统需要数小时的配置工作,显著提升AI项目开发效率。

weixin_30335575的博客 537

XML小结

解析XML文件

qq_51165184的博客 450

ST-Link V2的隐藏技能:多通道串口调试的终极指南

本文深入探讨了ST-Link V2的多通道串口调试功能,突破传统烧录工具的限制。通过详细的硬件配置、Arduino IDE设置和实战案例,展示了如何利用SWD接口实现多通道数据监控,提升STM32F103C8T6等开发板的调试效率。文章还提供了PCB布局优化和性能调优技巧,助力开发者充分发挥ST-Link V2的潜能。

weixin_29285605的博客 357

JAVA XML&JSON

XML(EXtensible Markup Language),可扩展标记语言 特点:XML与操作系统、编程语言的开发平台无关,实现不同系统之间的数据交换 作用:数据交互,配置应用程序和网站,Ajax基石 XML文档格式: 1. 要有XML头<?xml version="1.0" encoding="UTF-8"?> 2. 文件名要以.xml结尾 3. 要有一对跟标签(最上级的标签只能有一个) 4. 每个标签开始和结束要对应 5. 对大小写敏感 6. 正确嵌套 XML文档

Lynnand的博客 608

Frida实战:如何逆向分析某电商App的doCommandNative函数(附完整Hook脚本)

本文详细介绍了如何使用Frida逆向分析电商App中的doCommandNative函数,涵盖动态注册识别、SO加固对抗及高级Hook脚本编写等实战技巧。通过完整Hook脚本示例,帮助安全研究人员深入理解JNICLibrary的关键函数逆向分析方法,提升移动应用安全研究能力。

weixin_29327977的博客 618

水文预报新手别怕!用Matlab 18小时搞定马斯京根法参数K和x(附完整代码)

本文详细介绍了如何使用Matlab在18小时内快速掌握水文预报中的马斯京根法参数K和x的求解方法。通过完整的代码示例和分步解析,帮助新手从理论到实践快速跨越,解决传统手工试算耗时耗力的问题,提升水文预报的效率和精度。

weixin_42573113的博客 259

jsp增删改查及XML解析

目录: 一、jsp增删改查 1、数据库的连接 2、三层架构 3、servlet界面 4、界面 二、xml解析 1、Java中配置文件的三种配置位置及读取方式 2. XML的作用 3. dom4j+xpath解析xml文件 JSP增删改查 一、准备工作: 1、导入jar包 2、导入两个类,连接mysql数据库 3、查看并修改config.properties,检查 主机、端口号、密码、用户名、库名是否正确 二、建五个包 三、写好实体类,实现Serializable

qq_46705598的博客 635

RK AVS双目融合记录

NOTE] 调试平台双目avs融合调试,需要先保证两个摄像头能正常出图同时出流。使用默认工具测试vi->avs->venc通路是否正常,-a可指定isp效果文件需要开启CONFIG_VIDEO_ROCKCHIP_AVSP和CONFIG_VIDEO_ROCKCHIP_FEC,dts中使能。

mangofu的博客 105

XML“数据库”:简单的通讯录系统(用dom4j完成增删改查)

package hf.firstclass.dom4j; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.List;/** * 编写一个通讯录程序 * 功能需求: 1)增加联系人 2)修改联系人 3)删除联系人

第五个世界的博客 1608

基于毫米波雷达的智能风扇算法设计与实现

摘要:本文设计了一种基于毫米波雷达的智能风扇控制系统,采用FMCW雷达实现人体目标的精准检测与定位。系统通过距离FFT、速度FFT、CFAR检测和AoA估计构建完整的信号处理链路,并针对风扇叶片干扰设计了基于自相关函数的抗干扰算法。创新性地提出了人在开机、多人优先送风、摇头追踪等控制策略。研究采用MATLAB完成全链路算法仿真验证,并在STM32平台上实现实物系统。实验表明,该系统可实现0.15m测距精度和±60°方位角覆盖,有效解决了传统风扇的能源浪费和用户体验问题。本文提供了完整的MATLAB仿真代码和

huanghm88的专栏 404

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

使用xml实现的增删改查功能

使用xml实现的增删改查功能 实体类: package vo; public class Contact { private String id; private String name; private String ...

weixin_30418341的博客 517

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

java迷你图书管理_JAVA高级特性——迷你图书管理系统(DOM4J操作存储集合中的对象)...

要求:使用XML保存图书信息,使用DOM4J操作XML,进行图书的增删改查。使用技术:XML/DOM4j/集合/对象部分实现效果如果下:实现思路首先需要创建一个图书类(Book类),保存图书的属性(属性和XML文件一致,因为最终修改的是XML文件),将图书对象放到泛型集合里面去,直接操作集合就可以了,因为需要修改XML文件,每一次对图书的操作都需要保存到XML文件中去,所以可以写一个XmlUtil...

weixin_33894125的博客 399

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

DOM4J 实现对XML文档的增、删、改、查

前言:首先谈一个小故事:当年Java准备做对XML的解析时,对解析器的实现方向在内部发生了争执,后来高层没有听从工程师建议,坚持开发出了JDOM,而主要的工程师选择离开Java 按照自己的方式实现,就是DOM4J 。后来结果表明,DOM4J 完胜了JDOM。下面,让我们来了解一下通过DOM4J 实现对XML文件进行增删改查的过程。 1、待解析的XML文件: <students xmln

胡根得 天行健,君子以自强不息。 6566

dom4j实现对xml简单的增删改查

xml留了个结课作业: 后台用xml文件作为存储做个迷你系统实现增删改查的功能, 在此记录一下 先得引入dom4j的jar包放在项目的WEB-INF--&gt;lib目录下 先新建一个读取器,  读取你想操作的xml文件(我这里写的绝对路径) //读取XML文件,获得document对象 SAXReader reader = new SAXReader(); Document docu...

nO0b 720

dom4j实现增删改查功能

<br />package com.accp.xml.dom4j;<br />import java.io.FileInputStream;<br />import java.io.FileNotFoundException;<br />import java.io.FileOutputStream;<br />import java.io.FileWriter;<br />import java.io.IOException;<br />import java.io.InputStream;<br />i

liyinfeng56的专栏 699

java dom4j 修改_Java使用dom4j实现对xml简单的增删改查操作示例

本文实例讲述了Java使用dom4j实现对xml简单的增删改查操作。分享给大家供大家参考,具体如下:xml留了个结课作业: 后台用xml文件作为存储做个迷你系统实现增删改查的功能, 在此记录一下先得引入dom4j的jar包放在项目的WEB-INF-->lib目录下先新建一个读取器, 读取你想操作的xml文件(我这里写的绝对路径)//读取XML文件,获得document对象SAXReader...

weixin_32239819的博客 398

使用dom4j操作xml实现增删改查

dom4j提供了一套操作xml文档的API,下面我们就实现一下最基本的增删改查操作。        先看下最开始的xml文档        诗展 1 22 嘿嘿 2 23   1:查找,dom4j不能直接查找某个标签,不像html dom操作一样有getElementById之类的

shizhan1881的专栏 3179

XML解析之DOM4J的增删改查

DOM4J介绍 DOM4J是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点。 其优点: DOM4J使Java开发的灵活性和XML解析代码易于维护。它是轻量级的,快速的API。 使用Dom4j开发,需下载dom4j相应的jar文件。官网DOM4J的jar文件下载地址 笔者也在这里提...

Tate的博客 595

Dom4j的增删改查简单使用

In: Java3八2009博客刚开张,里面的东西还比较少,就把原来的一些学习笔记搬上来吧。    首先说Dom4j。Dom4j是什么?说直白一点就是一个用于解析XML的Java类库。官方上的介绍是:dom4j is an easyto use, open source library for working with XML, XPath and

Macroli 4873

使用Dom4j解析XML文件

使用Dom4j解析XML文件

junR_980218的博客 5652
上一篇: ssh 分页查询
下一篇: Mybatis的批量处理
Java_funds
博客等级 码龄9年 6粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值