广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java中使用DOM4J生成xml文件并解析xml文件的操作
  • 826
分享到

Java中使用DOM4J生成xml文件并解析xml文件的操作

2024-04-02 19:04:59 826人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、前言二、准备依赖三、生成xml文件生成标准展示四、解析xml文件五、总结一、前言 现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有

一、前言

现在有不少需求,是需要我们解析xml文件中的数据,然后导入到数据库中,当然解析xml文件也有好多种方法,小编觉得还是DOM4J用的最多最广泛也最好理解的吧.小编也是最近需求里遇到了,就来整理一下自己的理解,只适合刚刚学习的,一起理解!今天我们把解析xml文件和生成xml文件在一起来展示.

二、准备依赖


 <dependency>
	 <groupId>dom4j</groupId>
	 <artifactId>dom4j</artifactId>
	 <version>1.6.1</version>
      </dependency>

三、生成xml文件生成标准展示

生成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;

@Data
public 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<Element> elements = studentRoot.elements();

        // 存放xml中节点的数据集合
        List<Student> 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<Attribute> attributes = child.attributes();
            for (Attribute attribute : attributes) {
                System.out.println(attribute.getName() + "---> " + attribute.getValue());
            }

            //未知子元素名情况下
            List<Element> elementList = child.elements();
            for (Element ele : elementList) {
                System.out.println(ele.getName() + "--->" + ele.getText());
            }
        }
        //把解析xml出来的数据集合打印
        list.forEach(x-> System.out.println(x));
    }

解析结果展示

五、总结

这样我们就把DOM4J来生成xml文件和解析xml文件就都操作完成了,有什么问题留言哦!!谢谢大家

到此这篇关于Java中使用DOM4J生成xml文件并解析xml文件的的文章就介绍到这了,更多相关java dom4j 解析xml文件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java中使用DOM4J生成xml文件并解析xml文件的操作

本文链接: https://www.lsjlt.com/news/135272.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作