千家信息网

Java中如何使用DOM4J生成xml文件并解析xml文件

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章主要为大家展示了"Java中如何使用DOM4J生成xml文件并解析xml文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java中如何使用DOM
千家信息网最后更新 2024年11月17日Java中如何使用DOM4J生成xml文件并解析xml文件

这篇文章主要为大家展示了"Java中如何使用DOM4J生成xml文件并解析xml文件",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"Java中如何使用DOM4J生成xml文件并解析xml文件"这篇文章吧。

准备依赖

          dom4j         dom4j         1.6.1      

生成xml文件生成标准展示

生成xml代码

/**     * 使用DOM4J生成xml方法     */    public static void createXml(){        try {            // 创建document对象            Document document = DocumentHelper.createDocument();            // 创建根节点bookRoot            Element StudentRoot = document.addElement("StudentRoot");            // 向根节点中添加第一个节点            Element book1 = StudentRoot.addElement("student");            // 向子节点中添加属性            book1.addAttribute("id","1");            // 向节点中添加子节点            Element name = book1.addElement("name");            // 向子节点赋值            name.setText("小乔");            Element price = book1.addElement("age");            price.setText("18");            // 向根节点中添加第二个节点            Element book2 = StudentRoot.addElement("student");            book2.addAttribute("id","2").addElement("name").setText("大桥");            book2.addElement("age").setText("20");            // 向根节点中添加第三个节点            Element book3 = StudentRoot.addElement("student");            book3.addAttribute("id","3").addElement("name").setText("孙策");            book3.addElement("age").setText("21");            // 设置生成xml的格式            OutputFormat of = OutputFormat.createPrettyPrint();            // 设置编码格式            of.setEncoding("UTF-8");            // 生成xml文件            File file = new File("E:\\student.xml");            if (file.exists()){                file.delete();            }            //创建一个xml文档编辑器            XMLWriter writer = new XMLWriter(new FileOutputStream(file), of);                        //把刚刚创建的document放到文档编辑器中            writer.write(document);            writer.close();        } catch (Exception e) {            e.printStackTrace();        }    }

解析xml文件

解析xml的文件就是刚刚导出的那个样子,我们展示两种情况,一个是知道属性名字和子元素名字的我们把解析的xml文件数据放到实体类中.不知道的就直接打印到控制台.

实体类展示

import lombok.Data;@Datapublic class Student {    private int id;    private String name;    private int age;}

解析xml文件方法

 public static void analysis(){        // 把要解析的xml变成file文件        File file = new File("E:\\student.xml");        // 获取解析器对象        SAXReader reader = new SAXReader();        // 把文件解析成document树        Document document = null;        try {            document = reader.read(file);        } catch (DocumentException e) {            e.printStackTrace();        }        // 获取根节点        Element studentRoot = document.getRootElement();        // 获取根节点中所有节点        List elements = studentRoot.elements();        // 存放xml中节点的数据集合        List list = new ArrayList<>();        // 便利所有节点        for (Element child : elements) {            Student student = new Student();            //已知属性名情况下            student.setId(Integer.parseInt(child.attributeValue("id")));//获取属性的数据            //已知子元素名的情况下            student.setName(child.elementText("name"));//获取元素中值            student.setAge(Integer.parseInt(child.elementText("age")));//获取元素中值            list.add(student);            //未知属性名情况下            List attributes = child.attributes();            for (Attribute attribute : attributes) {                System.out.println(attribute.getName() + "---> " + attribute.getValue());            }            //未知子元素名情况下            List elementList = child.elements();            for (Element ele : elementList) {                System.out.println(ele.getName() + "--->" + ele.getText());            }        }        //把解析xml出来的数据集合打印        list.forEach(x-> System.out.println(x));    }

解析结果展示

以上是"Java中如何使用DOM4J生成xml文件并解析xml文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0