XML增删改查

写出XML内容

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

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

/**
 * 
 * 
 *写出xml文件的注意内容
 */
public class DomWriter2 {
    public static void main(String[] args) throws Exception {
        String str="F:\\JAVAEEtest\\javatestOne\\src\\contact.xml";
        Document document = new SAXReader().read(new File("./src/stduent.xml"));
        //设置输出格式
        OutputFormat  fromat=OutputFormat.createCompactFormat();//紧凑的格式,空格和换行全部删除 系统上线
        OutputFormat  fromat1=OutputFormat.createPrettyPrint();//漂亮格式,包含有空格和自动换行    系统上线
        //设置输出的变格式
        /***
         * 影响了xml的文档声明的Encoding编码
         * 影响了xml内容保存的编码
         */
        fromat.setEncoding("utf-8");
        OutputStream outStream = new FileOutputStream(str);
        //创建输出对象
        XMLWriter writer = new XMLWriter(outStream,fromat);
        //写出数据的功能
        writer.write(document);
    }
}

增删改

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

import org.dom4j.Attribute;
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;

/**
 * 修改xml文件
 *      添加 : 文档 标签 属性
 *      修改 :属性值 文本内容
 *      删除 :标签 属性
 *修改xml文件
 *  1读取到原来的xml文件(document对象)
 *  2.操作document对象,修改xml文件信息(document对象)
 *  3.修改后的docum对象写到xml文件中(覆盖源文件)
 */
public class DomAlter {
    public static void main(String[] args) throws Exception {
        String str="F:\\JAVAEEtest\\javatestOne\\src\\contact.xml";
        /**
         * 添加 
         * 
         */
        //1.1添加一个文档
        Document doc = DocumentHelper.createDocument();
        //1.2添加一个标签
        Element addElement = doc.addElement("contact-list");//添加一个根标签只能有一个跟标签
        Element conELem = addElement.addElement("contact");
        Element nameElem = conELem.addElement("name");
        //1.3添加属性
        conELem.addAttribute("id", "001");
        conELem.addAttribute("name", "张三");


        //1.2把文件写到xml文件中
        OutputStream outStrem = new FileOutputStream(str);
        OutputFormat format=OutputFormat.createPrettyPrint();
        format.setEncoding("utf-8");
        XMLWriter writer = new XMLWriter(outStrem,format);
        writer.write(doc);




        //修改 先得到属性对象 在调用属性方法
        Document document = new SAXReader().read(new File("./src/stduent.xml"));
        Element element = document.getRootElement().element("contact");
        Attribute attr = element.attribute("id");
        attr.setValue("002");
        //1.2在标签中添加同名属性,覆盖属性值
        element.addAttribute("id", "004");
        //修改文本
        Element element2 = document.getRootElement().element("contact").element("name");
        element2.setText("王五");


        //删除

        //1.1删除标签
        Element element3 = document.getRootElement().element("contact");
        element3.detach();//自杀
        element3.getParent().remove(element3);
        //删除属性
        Element element5 = document.getRootElement().element("contact");
        Attribute attr1 = element5.attribute("id");
        attr1.detach();

    }
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值