欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

dom4j在特定位置添加节点

程序员文章站 2022-05-28 22:29:11
...

//在第一个p1下面的age标签之前添加<school>ecit</schlool>
public static void addAgeBefore() throws Exception{
/*
* 1、创建解析器
* 2、得到document
* 3、得到根节点
* 4、获取到第一个p1
*
* 5、获取p1下面的所有的元素
* ** elements()方法 返回 list集合
* ** 使用list里面的方法,在特定位置添加元素
* ** 创建元素 在元素下面创建文本
* * add(int index, E element)
* - 第一个参数是 位置 下标,从0开始
* - 第二个参数是 要添加的元素
* 6、回写xml
* */

    //创建解析器对象
    SAXReader saxReader = new SAXReader();
    //得到document
    Document document = saxReader.read("src/day06/p1.xml");
    //得到根节点
    Element root = document.getRootElement();
    //获取到第一个p1
    Element p1 = root.element("p1");
    //获取p1下面的所有元素
    List<Element> list = p1.elements();
    //创建元素使用
    Element school = DocumentHelper.createElement("school");
    //在school下面创建文本
    school.setText("ecit");
    //在特定位置添加元素
    list.add(1,school);
    //回写xml
    OutputFormat format = OutputFormat.createPrettyPrint();
    XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/day06/p1.xml"),format);
    xmlWriter.write(document);
    xmlWriter.close();
    }
相关标签: dom4j