• 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     }
  • 相关阅读:
    itk_interior
    itk_option define
    scrolled canvas tcl tk
    init.rc的disabled含义
    WIFI分析与移植
    ubuntu10.04命令挂载windows硬盘与U盘
    Android WIFI 分析
    Android WIFI 分析
    Android平台开发WIFI function portingWIFI功能移植
    Android平台开发WIFI function portingWIFI功能移植
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4079374.html
Copyright © 2020-2023  润新知