使用Dom4j对XML进行增删改查

本文详细介绍了如何使用Dom4j库对XML文件中的元素进行增加、删除、修改操作,包括创建XML文件、读取XML文件、遍历节点、添加或更新元素等基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Dom4j对XML进行增删改查非常简单,这里就不多说废话,下面上代码

package com.bird.dom4j; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; /** * @use 使用Dom4j对指定标签增加内容 * @author Bird * */ public class DomAdd { @SuppressWarnings("unchecked") public static void add() throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read("d://book.xml"); Element book = document.getRootElement().element("书"); List list = book.elements(); Element price = DocumentHelper.createElement("售价"); price.setText("999元"); list.add(2, price); OutputFormat former =OutputFormat.createPrettyPrint();//设置格式化输出器 former.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream("d://book.xml"),"UTF-8"),former); writer.write(document); writer.close(); } public static void delete() throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read("d://book.xml"); Element price = document.getRootElement().element("书").element("售价"); price.getParent().remove(price); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("d://book.xml"),format); writer.write(document); writer.close(); } public static void update() throws Exception{ SAXReader reader = new SAXReader(); Document document = reader.read("d://book.xml"); Element price = document.getRootElement().element("书").element("售价"); price.setText("10086元"); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("d://book.xml"),format); writer.write(document); writer.close(); } public static void main(String[] args) throws Exception{ // add(); // delete(); update(); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值