zoukankan      html  css  js  c++  java
  • Java中的Dom4j

      上一篇讲了Java中如何操作XML,现在介绍一个更厉害的方法,Dom4j ,百度查一下就知道,这个更强,更快,更简单。

    自己下载jar包导入工具,下面来讲一个例子,我事先准备了一个XML文件,如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <Loves>
        <love>
            <name>许嵩</name>
            <age>32</age>
        </love>
        <love>
            <name>林俊杰</name>
            <age>33</age>
        </love>
    </Loves>

    一、使用Dom4j读取XML文件的内容

    package com.StadyJava.Dom4jDemo;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    
    import java.io.File;
    import java.util.List;
    
    public class test {
    
        public static void main(String[] args) throws  Exception{
            Dom4j();
    
        }
        private static File file=new File("F:\Study Java\ch1helloworld\src\main\java\com\StadyJava\Dom4jDemo\Love.xml");
    
        public static void Dom4j() throws  Exception{
            //获取文档对象
            SAXReader reader=new SAXReader();
            Document doc=reader.read(file);
            //获取根元素
            Element root=doc.getRootElement();
            //获取所有的子元素Love
            List<Element> lovelist = root.elements("love");
            //输入name元素的内容
            for (Element element : lovelist) {
                System.out.println(element.elementTextTrim("name"));
                System.out.println("---------------");
            }
    
        }
    
    
    }

    二、使用Dom4j对XML新增一些内容

    package com.StadyJava.Dom4jDemo;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.OutputFormat;
    import org.dom4j.io.SAXReader;
    import org.dom4j.io.XMLWriter;
    
    import java.io.File;
    import java.io.FileWriter;
    import java.io.OutputStream;
    import java.util.List;
    
    public class test {
    
        public static void main(String[] args) throws  Exception{
            Dom4jAdd();
    
        }
        private static File file=new File("F:\Study Java\ch1helloworld\src\main\java\com\StadyJava\Dom4jDemo\Love.xml");
    
        public static void Dom4jAdd() throws  Exception{
            //获取文档对象
            SAXReader reader=new SAXReader();
            Document doc=reader.read(file);
            //获取根元素
            Element root=doc.getRootElement();
            //创建一个love元素,作为根元素的子元素
            Element lovenew=root.addElement("love");
            //Element lovenew=root.addElement("love").addAttribute("id","1"); 如果你的love元素有属性,可以这样写
            //为love新元素添加name、age元素并且赋值
            lovenew.addElement("name").setText("蜀云泉");
            lovenew.addElement("age").setText("23");
    
            //在内存里面的XML已经完成,现在同步内存到磁盘,同步到磁盘有两种方式:第一种都在一行,可读性差,但是没有了空格和换行,性能占优。 第二种,拥有漂亮的格式,有换行和空格,可读性强。二选一
            //同步第一种,都在一行,优点:性能  缺点:可读性差
            FileWriter out =new FileWriter(file);
            doc.write(out);
            out.close();//关闭流,如果不关闭,那么你的XML文件会变空
    
            //同步第二种,有格式,优点:可读性强   缺点:性能差一点
            OutputFormat format=OutputFormat.createPrettyPrint();
            XMLWriter writer=new XMLWriter(new FileWriter(file),format);
            writer.write(doc);
            writer.close();//任何时候都不要忘记关闭流
    
        }
    
    
    }
  • 相关阅读:
    老年玩家每日水题(完结)
    51node1256 乘法匿元(扩展欧几里得)
    初识Springboot
    Springboot实现登录功能
    使用SMM框架开发企业级应用-----过滤器实现登录拦截
    使用SMM框架开发企业级应用-----mvc文件上传和下载
    使用SMM框架开发企业级应用-----MVC异常处理
    使用SMM框架开发企业级应用-----MVC参数传递
    使用SMM框架开发企业级应用-----MVC方法返回值类型
    使用SMM框架开发企业级应用-----基础配置
  • 原文地址:https://www.cnblogs.com/yunquan/p/10113409.html
Copyright © 2011-2022 走看看