使用dom4j

简介: 使用dom4j实现增删改查

import my.com.vo.Company;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import java.io.FileOutputStream;
import java.io.Writer;
import java.util.List;


public class CpService {
    public  static void addCp(Company company) throws Exception {
        /*
        * 1、创建解析器
        * 2、得到document
        * 3、获取根节点
        * 4、再根节点上面创建cp标签
        * 5、在cp标签上面依次添加cpid,cpname,cpaddr
        * 6、在cpid,cpname,cpaddr。
        *
        * */
        //创建解析器
        SAXReader saxReader = new SAXReader();
        //得到Document
        Document document = saxReader.read("src/company.xml");
        //得到根节点
        Element root = document.getRootElement();
        //在根节点上面添加stu
        Element cp = root.addElement("cp");
        //在标签上面添加标签
        Element cpid1 = cp.addElement("cpid");
        Element cpname1 = cp.addElement("cpname");
        Element cpaddr1 = cp.addElement("cpaddr");
        //添加值
        cpid1.setText(company.getCpid());
        cpname1.setText(company.getCpname());
        cpaddr1.setText(company.getCpaddr());
        //回写xml
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/company.xml"), format);
        xmlWriter.write(document);
        xmlWriter.close();
    }
    //根据学生id删除
    public static void delCp(String cpid ) throws Exception {
        /*
         * 1、创建解析器
         * 2、得到document
         * 3、获取所有id
         *
         * 使用xpath
         * 4、遍历list集合
         * 5、判断集合里面的id和传递的id是否相同
         * 6、相同即可删除id所在cp
         * */
        //创建解析器
        SAXReader saxReader = new SAXReader();
        //得到document
        Document document = saxReader.read("src/company.xml");
        //获取所有id  xpath://id
        List<Node> list = document.selectNodes("//cpid");
        //遍历list集合
        for (Node node : list) {
            String cpidv = node.getText();
            if (cpidv.equals(cpid)) {
                Element cp = node.getParent();
                Element company = cp.getParent();
                company.remove(cp);
}               //回写xml
                OutputFormat format = OutputFormat.createPrettyPrint();
                XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/company.xml"), format);
                xmlWriter.write(document);
                xmlWriter.close();
        }
    }
   /* //查询根据学生id
    public static Company getCp(String cpid) {
        *//*
        * 1、创建解析器
        * 2、得到document
        * 3、获取到所有id
        * 4、返回list集合 遍历List集合
        * 5、得到每一个id的节点
        * 6、id节点的值
        * 7、判断id的值和传递的id值是否相同
        * *//*
    }*/
}





相关文章
|
12月前
|
JavaScript
DOM 操作
DOM 操作
|
4月前
|
JavaScript 前端开发 API
DOM组件
【5月更文挑战第29天】DOM组件
33 1
|
4月前
|
JavaScript 前端开发 API
DOM
DOM(文档对象模型,Document Object Model)是HTML文档的编程接口,它允许我们通过JavaScript来操作和修改HTML文档的结构和内容。DOM提供了一种树形结构,使我们能够像操作对象一样方便地操作HTML
91 7
|
XML JavaScript 前端开发
我理解的Dom
一、Dom 的基本概念 1、Dom:Document Object Model 文档对象模型; 2、Dom 是W3C组织推荐的处理可扩展标记语言的标准编程接口;
|
SQL JavaScript Devops
DOM总结
DOM总结
167 0
DOM总结
|
数据采集 JavaScript 前端开发
同样的 DOM 操作为什么会有不一样的结果?
深夜光顾小网站,一进去竟然全部是广告,可惜 wuhen 模式下无法开启我的 Adblock,可我再转念一下,删广告这种事还用得着浏览器插件,不就是一个 DOM 操作?我直接一行代码删完
|
JavaScript 前端开发
JS DOM之DOM遍历
1.什么是DOM遍历? DOM遍历,可以简单地理解为“查找元素”。举个例子,如果你使用getElementById()等方法获取一个元素,然后又想得到该元素的父元素、子元素,甚至是下一个兄弟元素,这种操作涉及的就是DOM遍历 2.查找父元素 在JavaScript中,我们可以使用parentNode属性来获得某个元素的父元素
96 0
JS DOM之DOM遍历
|
XML JavaScript 数据格式
简单的DOM的相关总结
简单的DOM的相关总结
106 0
|
JavaScript
DOM练习
DOM练习
|
XML 移动开发 JavaScript
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少
DOM(文档对象模型)是针对 HTML和 XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM 脱胎于Netscape及微软公司创始的 DHTML(动态 HTML),但现在它已经成为表现和操作页面标记的真正的跨平台、语言中立的方式。
534 0
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少