xml实现增删改

本文介绍了如何使用XML进行增、删、改操作。首先展示了一个简单的XML文件,然后详细讲解了如何增加一个魅族手机条目,通过运行结果验证了添加的成功。接着演示了修改XML文件中16 pro为S16的过程,并确认修改成功。最后提到了删除操作的注意事项,并邀请读者交流学习。

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

增删改

另一个博客,已经把dome4j解析xml文件说了一遍,现在我把xml怎么实现增删改跟大家说一下
可以接着用上一个xml文件

首先还是要写一个xml文件

<?xml version="1.0" encoding="UTF-8"?>
<phoneInfo>
    <brand name="小米">
        <type name="小米1"/>
        <type name="小米2"/>
        <type name="小米3"/>
    </brand>
    <brand name="华为">
        <type name="华为1"/>
        <type name="华为2"/>
        <type name="华为3"/>
    </brand>
    <brand name="苹果">
        <type name="苹果1"/>
        <type name="苹果2"/>
        <type name="苹果3"/>
    </brand>

这就是一个简单的xml文件
然后大家一定要记得导一个炸包

增加
首先是增加,我们先添加一个魅族手机

package cn.shs.jdbc;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

public class AddTest {
    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        try {
            Document document=saxReader.read("src/info.xml");
            Element rootElement=document.getRootElement();
            Element brand=rootElement.addElement("brand");
            brand.addAttribute("name","魅族");
            Element type=brand.addElement("type");
            type.addAttribute("name","16 pro");
            OutputStream os =new FileOutputStream(new File("src/info.xml"));
            XMLWriter xmlWriter=new XMLWriter(os);
            xmlWriter.write(rootElement);
            xmlWriter.flush();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

然后运行一下,去xml文件里去看一下有没有成功
下面是一个运行结果

在这里插入图片描述
可以看出多了,一个魅族手机,证明添加成功

修改
接下来是修改,我们把16 pro修改成S16

package cn.shs.jdbc;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;

public class UpdateTest {
    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        try {
            Document document = saxReader.read("src/info.xml");
            Element rootElement=document.getRootElement();
            Iterator it=rootElement.elementIterator();
            while(it.hasNext()){
                Element element=(Element) it.next();
                System.out.println(element.attributeValue("name"));
                if(element.attributeValue("name").equals("魅族")){
                    Iterator iterator= element.elementIterator();
                    while (iterator.hasNext()){
                        Element type=(Element)iterator.next();
                        if(type.attributeValue("name").equals("16 pro")){
                            type.addAttribute("name","S16");
                        }
                    }
                }
            }
            XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(new File("src/info.xml")));
            xmlWriter.write(document);
            xmlWriter.flush();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

如果不出意外的我们就修改完了,然后去xml文件里面去看一眼,修改成没成功
在这里插入图片描述
我们可以看出,已经修改成功

删除
最后呢是删除

package cn.shs.jdbc;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

import javax.sql.rowset.spi.XmlReader;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;

public class DeleteTest {
    public static void main(String[] args) {
        SAXReader saxReader = new SAXReader();
        try {
            Document document = saxReader.read("src/info.xml");
            Element rootElement=document.getRootElement();
            Iterator iterator=rootElement.elementIterator();
            while (iterator.hasNext()){
                Element brand=(Element) iterator.next();
                if (brand.attributeValue("name").equals("魅族")){}
                brand.getParent().remove(brand);
            }
            XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(new File("src/info.xml")));
            xmlWriter.write(document);
            xmlWriter.flush();
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

记得把xml文件复制一下,里面小心全没了,这个我就不加运行结果了
如果有一起的加我微信a2927164954 qq就是把a去掉
感谢观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值