Dom4j 添加 / 更新 / 删除 XML

1、获得文档

/**

*1、获得解析流

*2、解析XML

*/

2、添加

/**

*1、获取父元素

*2、创建元素

*3、创建属性并添加到元素中

*4、元素添加到根节点

*/

3、更新

/**

*1、获取结点

*2、转化为元素

*3、获取子元素

*4、更改

*/

4、删除

/**

*1、获得结点

*2、转换为元素

*3、获得父元素

*4、移除

*/

5、保存

/**

*1、创建输出对象

*2、添加内容对象

*3、关闭输出流

*/

获得文档

//获取文档
private static Document GetDocument() throws DocumentException {
    //获得解析流
    SAXReader reader=new SAXReader();
    //解析xml
    Document document=reader.read("books.xml");
    return document;

}

添加文档

//添加
    private static void AddXml(Document document) {
        //获取父元素
        Element rootElement=document.getRootElement();
        //创建元素
        Element newElement =DocumentHelper.createElement("book");
        //创建属性
        Attribute attribute=DocumentHelper.createAttribute(newElement, "id", "b003");
        //属性添加到元素中
        newElement.add(attribute);
         
        //子元素
        Element priceElement=DocumentHelper.createElement("price");
        priceElement.setText("1234567890");
        newElement.add(priceElement);
         
         
        //添加到根元素
        rootElement.add(newElement);
    }

修改文档

//修改
    private static void UpdateXml(Document document) {
         
        //获取book结点
        Node node= document.selectSingleNode("//book[@id='b001']");
        //转换为元素
        Element bookelement=(Element) node;
        //获取price元素
        Element priceElement= bookelement.element("price");
        //更改文字
        priceElement.setText("12345");
        priceElement.setAttributeValue("unit", "$");
    }

删除文档元素

 1 //删除元素
 2     private static void DeleteXml(Document document) {
 3         //获得结点
 4         Node node= document.selectSingleNode("//book[@id='b001']");
 5         //转换为元素
 6         Element element=(Element) node;
 7         //获取父元素
 8         Element parentElement=element.getParent();
 9         //移除
10         parentElement.remove(node);
11     }

保存文档

 1 //保存
 2     private static void SavaXml(Document document) throws IOException {
 3         //创建文件输出对象
 4         FileWriter fileWriter=new FileWriter("books.dom4j.xml");
 5         XMLWriter writer=new XMLWriter(fileWriter);
 6         //添加内容对象
 7         writer.write(document);
 8         //关闭流
 9         writer.close();
10     }
原文地址:https://www.cnblogs.com/liuwt365/p/4079374.html