您的位置:首页 > 其它

XML文档增加 修改 删除

2017-12-18 17:25 429 查看
// 一:读取或者创建一个Document对象

// 二:修改Document对象

// 三:将修改后的对象写出到xml文档中

//修改:

  /*

            一: 增加  1.标签  2.属性

            二 :修改  1.属性的值 2.修改文本

            三: 删除  1.标签  2.属性

    

   */

import java.io.File;

import java.io.FileOutputStream;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.ElementHandler;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

import org.junit.Test;

public class Demo{

    // 一: 增加  1.标签  2.属性

    public void test1() throws Exception{

         //1.创建文档

         Document doc = DocumentHelper.createDocument();

         //2.添加标签

         Element rootElem = doc.addElement("persons");

         Element personElem = rootElem.addElement("person");

         //3.增加属性

         personElem.addAttribute("id", "001");

         personElem.addElement("name");

         FileOutputStream outputStream = new FileOutputStream("F:\\person.xml");

         OutputFormat format = OutputFormat.createPrettyPrint();

         format.setEncoding("utf-8");

         XMLWriter writer = new XMLWriter(outputStream, format);

         writer.write(doc);

         writer.close();

    }

    //修改 属性值和文本

    public void test() throws Exception {

        

         Document doc = new SAXReader().read(new File("F:\\1.xml"));

         /*

          * 方案一:修改属性值: 1得到标签对象, 2 得到属性对象,3修改属性值

          *

          *

          *

          */

         /*Element personElem =  doc.getRootElement().element("person");

         Attribute idAttr = personElem.attribute("id");

         idAttr.setValue("008");*/

         //标签中不能够存在相同的属性值,通过添加属性值覆盖掉原来的属性值

         /*Element personElem =  doc.getRootElement().element("person");

         personElem.addAttribute("id", "009");*/

        

        

        

         //修改文本

         //拿到标签来修改

         Element nameElem = doc.getRootElement().element("person").element("name");

         nameElem.setText("张三");

         FileOutputStream outputStream = new FileOutputStream("F:\\person.xml");

         OutputFormat format = OutputFormat.createPrettyPrint();

         format.setEncoding("utf-8");

         XMLWriter writer = new XMLWriter(outputStream, format);

         writer.write(doc);

         writer.close();

    }

    //删除 : 标签 属性

    @Test

    public void test2() throws Exception{

         Document doc = new SAXReader().read(new File("F:\\1.xml"));

        

         Element nameElem = doc.getRootElement().element("person");

        /* 1 得到标签  2 删除标签; 自杀 nameElem.detach();

         nameElem.getParent().remove(nameElem);

         他杀*/

         Attribute idAttr = nameElem.attribute("id");

         idAttr.detach();

         FileOutputStream outputStream = new FileOutputStream("F:\\person.xml");

         OutputFormat format = OutputFormat.createPrettyPrint();

         format.setEncoding("utf-8");

         XMLWriter writer = new XMLWriter(outputStream, format);

         writer.write(doc);

         writer.close();

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: