📜  Java JDOM分析器-创建XML文档(1)

📅  最后修改于: 2023-12-03 14:42:14.914000             🧑  作者: Mango

Java JDOM分析器-创建XML文档

JDOM是Java语言的一种操作XML的API,其提供了简洁易用的方法来读取、创建、操作XML文档。

本文将介绍如何使用JDOM分析器来创建XML文档,以下为详细步骤:

第一步:导入JDOM相关依赖

在Java项目中使用JDOM需要先将其相关依赖导入项目中。导入方式有多种,在此以在Maven项目中导入为例:

在pom.xml文件中加入以下依赖:

<dependency>
    <groupId>org.jdom</groupId>
    <artifactId>jdom2</artifactId>
    <version>2.0.6</version>
</dependency>
第二步:创建XML文档

通过JDOM提供的类,可以轻易地创建一个新的XML文档。

创建一个根元素为"books"的XML文档示例代码:

import java.io.FileWriter;
import java.io.IOException;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;

public class CreateXML {
    public static void main(String[] args) throws IOException {
        // 创建根元素
        Element root = new Element("books");
        // 创建文档
        Document doc = new Document(root);
        // 添加元素及元素属性
        Element book1 = new Element("book").setAttribute("id", "001");
        Element title1 = new Element("title").setText("Java编程思想");
        Element author1 = new Element("author").setText("Bruce Eckel");
        Element price1 = new Element("price").setText("99.00");
        book1.addContent(title1);
        book1.addContent(author1);
        book1.addContent(price1);
        Element book2 = new Element("book").setAttribute("id", "002");
        Element title2 = new Element("title").setText("深入理解Java虚拟机");
        Element author2 = new Element("author").setText("周志明");
        Element price2 = new Element("price").setText("89.00");
        book2.addContent(title2);
        book2.addContent(author2);
        book2.addContent(price2);
        // 将元素添加到根元素
        root.addContent(book1);
        root.addContent(book2);
        // 输出XML文件
        XMLOutputter outputter = new XMLOutputter(Format.getPrettyFormat());
        FileWriter writer = new FileWriter("books.xml");
        outputter.output(doc, writer);
        writer.close();
    }
}
第三步:解析XML文档

通过JDOM提供的类,可以方便地解析一个XML文档。

解析刚刚创建出来的books.xml文件示例代码:

import java.io.File;
import java.io.IOException;
import java.util.List;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

public class ParseXML {
    public static void main(String[] args) throws JDOMException, IOException {
        // 构造解析器
        SAXBuilder builder = new SAXBuilder();
        // 解析XML文件
        Document doc = builder.build(new File("books.xml"));
        // 获取根元素
        Element root = doc.getRootElement();
        // 获取所有子元素
        List<Element> books = root.getChildren();
        // 遍历输出所有书籍信息
        for (Element book : books) {
            System.out.println("id:" + book.getAttributeValue("id"));
            System.out.println("title:" + book.getChildText("title"));
            System.out.println("author:" + book.getChildText("author"));
            System.out.println("price:" + book.getChildText("price"));
        }
    }
}

以上就是使用JDOM创建和解析XML文档的基本操作。JDOM不仅提供了各种方便易用的API来处理XML,也是解析速度较快的XML处理库之一,因此广受Java开发者的欢迎。