使用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值是否相同
        * *//*
    }*/
}





相关文章
|
1月前
|
XML JavaScript 数据格式
什么是 DOM?
DOM,即文档对象模型,是W3C制定的访问HTML和XML文档的标准,允许程序动态访问和更新文档的内容、结构和样式。它分为核心DOM、XML DOM和HTML DOM三部分,分别针对不同类型的文档提供标准化的操作接口。
|
6月前
|
JavaScript 前端开发 API
DOM组件
【5月更文挑战第29天】DOM组件
42 1
|
6月前
|
JavaScript 前端开发 API
DOM
DOM(文档对象模型,Document Object Model)是HTML文档的编程接口,它允许我们通过JavaScript来操作和修改HTML文档的结构和内容。DOM提供了一种树形结构,使我们能够像操作对象一样方便地操作HTML
115 7
|
XML JavaScript 前端开发
我理解的Dom
一、Dom 的基本概念 1、Dom:Document Object Model 文档对象模型; 2、Dom 是W3C组织推荐的处理可扩展标记语言的标准编程接口;
|
SQL JavaScript Devops
DOM总结
DOM总结
182 0
DOM总结
|
前端开发 JavaScript
React的渲染element(做最少的DOM操作)
Rendering Elements An element describes what you want to see on the screen. 原则:尽可能少的操作DOM 如下面react官网的例子就是很好的说明:
93 0
React的渲染element(做最少的DOM操作)
|
XML JavaScript 数据格式
简单的DOM的相关总结
简单的DOM的相关总结
112 0
|
JavaScript
DOM练习
DOM练习
102 0
|
XML 移动开发 JavaScript
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少
DOM(文档对象模型)是针对 HTML和 XML文档的一个API(应用程序编程接口)。DOM描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。DOM 脱胎于Netscape及微软公司创始的 DHTML(动态 HTML),但现在它已经成为表现和操作页面标记的真正的跨平台、语言中立的方式。
561 0
【SSD系列】DOM0, DOM1, DOM2, DOM3, DOM4,知多少
|
XML JavaScript 数据格式
Dom4j和Xpath(转)
1、DOM4J简介     DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台,采用了 Java 集合框架并完全支持 DOM,SAX 和JAXP。
1701 1