java使用dom4j操作xml示例代码

 更新时间:2013年11月29日 09:33:45   作者:  
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件,下面我来个小例子学习他的使用方法

dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源工具。可以在这个地址http://dom4j.sourceforge.net进行下载。
这里我们使用到的dom4j是dom4j-1.6.1这个版本,我们只需要使用到如下两个jar包:

复制代码 代码如下:

dom4j-1.6.1.jar
commons-io-2.4.jar

1、dom4j读取xml字符串

复制代码 代码如下:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;


public class TestReadXMLString {
    public static void main(String[] args) throws DocumentException {
        String readline = "<?xml version=\"1.0\" encoding=\"utf-8\"?><students><student sid=\"001\"> <id>001</id><name>灰机</name> <age>18</age> </student></students>";
        Document document = DocumentHelper.parseText(readline);
        Element rootElm = document.getRootElement();
        System.out.println("rootElement:  " + rootElm.getName());
        Element student = rootElm.element("student");
        Element id = student.element("id");
        Element name = student.element("name");
        Element age = student.element("age");
        System.out.println(id.getText());
        System.out.println(name.getText());
        System.out.println(age.getText());
    }
}

2、dom4j创建xml文件

复制代码 代码如下:

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
public class TestWriteXMLString {
    public static void main(String[] args) {
        OutputFormat format = OutputFormat.createPrettyPrint();
        // 1. 构造空的Document
        Document doc = DocumentHelper.createDocument();
        doc.addComment("this is a comment");
        // 2. 构造根元素
        Element rootElmt = doc.addElement("users");
        rootElmt.addNamespace("test", "www.test.com");

        Element userElmt = rootElmt.addElement("user");
        userElmt.addAttribute("number", "1001");
        userElmt.addElement("name").setText("zhangsan");
        userElmt.addElement("age").setText("20");
        userElmt.addElement("gender").setText("mail");

        Element userElmt2 = rootElmt.addElement("user");
        userElmt.addAttribute("number", "1002");
        userElmt2.addElement("name").setText("zhangsan");
        userElmt2.addElement("age").setText("20");
        userElmt2.addElement("gender").setText("mail");

        System.out.println(doc.asXML().replaceAll("\n", ""));
    }
}

3、读取或写xml文件

读取xml文件

复制代码 代码如下:

SAXReader reader = new SAXReader();
String path = "E:/Workspaces/MyEclipse 8.6/xmltest/file/student.xml";
Document document = reader.read(new File(path));

写xml文件

复制代码 代码如下:

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");// 设置XML文件的编码格式
String filePath = "E:/Workspaces/MyEclipse 8.6/xmltest/file/student.xml";
Document document = DocumentHelper.createDocument();
doc.addComment("this is a comment");

/创建document内容

复制代码 代码如下:

XMLWriter writer = new XMLWriter(new FileWriter(filePath), format);//写入指定的文件
writer.write(document);
 writer.close();

相关文章

  • Java实现IP地址到二进制的转换

    Java实现IP地址到二进制的转换

    这篇文章主要为大家详细介绍了Java实现IP地址到二进制的转换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • java短网址服务(TinyURL)生成算法

    java短网址服务(TinyURL)生成算法

    这篇文章主要为大家详细介绍了java短网址服务生成算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • Hibernate实现悲观锁和乐观锁代码介绍

    Hibernate实现悲观锁和乐观锁代码介绍

    这篇文章主要介绍了Hibernate实现悲观锁和乐观锁的有关内容,涉及hibernate的隔离机制,以及实现悲观锁和乐观锁的代码实现,需要的朋友可以了解下。
    2017-09-09
  • 指定springboot的jar运行内存方式

    指定springboot的jar运行内存方式

    这篇文章主要介绍了指定springboot的jar运行内存方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • SpringBoot集成Devtools实现热更新

    SpringBoot集成Devtools实现热更新

    DevTools是开发者工具集,主要用于简化开发过程中的热部署问题,热部署是指在开发过程中,当代码发生变化时,无需手动重启应用,系统能够自动检测并重新加载修改后的代码,本文给大家介绍了SpringBoot集成Devtools实现热更新,需要的朋友可以参考下
    2024-08-08
  • SpringBoot拦截器的使用小结

    SpringBoot拦截器的使用小结

    今天给大家总结一下SpringBoot下拦截器的使用,需要的朋友参考下吧
    2017-05-05
  • Mybatis Generator具体使用小技巧

    Mybatis Generator具体使用小技巧

    本文主要介绍了Mybatis Generator具体使用小技巧,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 深入了解Spring控制反转IOC原理

    深入了解Spring控制反转IOC原理

    IOC-Inversion of Control,即控制反转。它不是什么技术,而是一种设计思想。这篇文章将为大家介绍一下Spring控制反转IOC的原理,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • 命令行使用支持断点续传的java多线程下载器

    命令行使用支持断点续传的java多线程下载器

    java命令行下载器,支持断点续传下载,多线程下载,需要的朋友可以参考下
    2014-02-02
  • Mybatis中拦截器的使用场景和技巧分享

    Mybatis中拦截器的使用场景和技巧分享

    Mybatis提供了一些机制,可以允许我们在做数据库操作的时候进行我们额外的一些程序,当然,这看起来并没有JPA的EntityListener好用,本文小编将给大家详细的介绍了Mybatis中拦截器的使用场景和技巧,需要的朋友可以参考下
    2023-10-10

最新评论