服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - JAVA教程 - java使用dom4j操作xml示例代码

java使用dom4j操作xml示例代码

2019-10-22 11:40java教程网 JAVA教程

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教程Java for循环详解

    Java for循环详解

    这篇文章主要介绍了Java for循环方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来...

    东边的雨田3442019-06-23
  • JAVA教程Java输出通过InetAddress获得的IP地址数组详细解析

    Java输出通过InetAddress获得的IP地址数组详细解析

    由于byte被认为是unsigned byte,所以最高位的1将会被解释为符号位,另外Java中存储是按照补码存储,所以1000 0111会被认为是补码形式,转换成原码便是1111 ...

    java技术网3552019-10-14
  • JAVA教程java全角、半角字符的关系以及转换详解

    java全角、半角字符的关系以及转换详解

    如果搞明白了Java中全角字符和半角字符之间的关系 那他们之间的转换根本就不是个事. 全角字符与半角字符的关系 可以通过下面的程序看看Java中所有字符...

    java技术网4622019-10-22
  • JAVA教程java生成压缩文件示例代码

    java生成压缩文件示例代码

    在工作过程中,需要将一个文件夹生成压缩文件,然后提供给用户下载。写了一个压缩文件的工具类。该工具类支持单个文件和文件夹压缩 ...

    java代码网3802019-10-21
  • JAVA教程Java实现几种常见排序算法代码

    Java实现几种常见排序算法代码

    排序(Sorting) 是计算机程序设计中的一种重要操作,它的功能是将一个数据元素(或记录)的任意序列,重新排列成一个关键字有序的序列 ...

    java开发网2022019-10-13
  • JAVA教程Java程序员必须熟记流程图

    Java程序员必须熟记流程图

    线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的...

    今日头条3272019-09-05
  • JAVA教程scala当中的文件操作和网络请求的实现方法

    scala当中的文件操作和网络请求的实现方法

    这篇文章主要介绍了scala当中的文件操作和网络请求的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    starzy2372019-07-08
  • JAVA教程Java线程关闭的3种方法

    Java线程关闭的3种方法

    这篇文章介绍了Java线程关闭的3种方法,有需要的朋友可以参考一下 ...

    java技术网3702019-10-16