java解析xml之dom4j解析xml示例分享


当使用dom4j库来解析XML文件时,你首先需要确保已经将dom4j库添加到你的项目依赖中。以下是一个简单的示例,展示了如何使用dom4j来解析XML文件并获取其中的数据。

首先,假设我们有一个名为`example.xml`的XML文件,内容如下:


<books>
    <book>
        <title>Java编程思想</title>
        <author>Bruce Eckel</author>
    </book>
    <book>
        <title>Effective Java</title>
        <author>Joshua Bloch</author>
    </book>
</books>

接下来,是使用dom4j解析这个XML文件的Java代码示例:


import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.File;
import java.util.Iterator;

public class Dom4jExample {

    public static void main(String[] args) {
        // 创建SAXReader对象
        SAXReader reader = new SAXReader();

        try {
            // 读取XML文件,并获取Document对象
            Document document = reader.read(new File("example.xml"));

            // 获取根元素
            Element root = document.getRootElement();

            // 遍历所有book元素
            for (Iterator<Element> i = root.elementIterator("book"); i.hasNext();) {
                Element book = i.next();

                // 获取book元素下的子元素并打印
                String title = book.elementText("title");
                String author = book.elementText("author");

                System.out.println("Title: " + title);
                System.out.println("Author: " + author);
                System.out.println("---");
            }

        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
}

在这个示例中,我们首先创建了一个`SAXReader`对象来读取XML文件。然后,我们使用`read`方法读取名为`example.xml`的文件,并获取到一个`Document`对象。接下来,我们通过`getRootElement`方法获取根元素,并遍历所有`book`元素。对于每个`book`元素,我们使用`elementText`方法获取其下的`title`和`author`子元素的文本内容,并打印出来。

请确保你的项目中已经包含了dom4j库的依赖,否则上述代码将无法编译通过。如果你使用的是Maven,可以在`pom.xml`文件中添加dom4j的依赖项。