如何在 Java 中读写 XML 文件?

XML 被定义为可扩展标记语言 (Extensible Markup Language),它主要用于存储和交换数据的格式。为了读写 XML 文件,Java 编程语言提供了几个易于实现的库。其中最广泛使用的是内置的 JAXP (Java API for XML Processing)。

什么是 DOM?

文档对象模型 (DOM) 被定义为 Web 文档的编程接口。在 Java 处理 XML 的上下文中,DOM 将 XML 文档表示为树模型,其中树模型中的每个节点对应于文档的一部分。我们可以使用 DOM API 的方法来处理和遍历这棵树。
处理 XML 的要求:

  • 在系统中安装 JDK (Java Development Kit)。
  • 将代码安装到您选择的代码编辑器中,例如 VSCode、Eclipse 或 IntelliJ IDEA。
  • 我们需要处理 XML 文件,并且必须导入 javax.xml 包。该包包含解析器并预定义了用于处理 XML 文件的转换类。

用于 XML 处理的 Java API (JAXMP) 提供了一组接口和类,用于在 Java 编程中处理 XML 文件。以下是一些主要的接口和类。

  • DocumentBuilder: DocumentBuilder 是 JAXMP 库中预定义的接口,它定义了解析 XML 文档和创建 DOM (文档对象模型) 树的方法。
  • DocumentBuilderFactory: 这个类提供了一个用于创建 DocumentBuilder 对象的工厂。它获取文档构建器实例,然后用于解析 XML 文档。
  • Document: Document 是一个接口,它提供了读取和修改 XML 文档内容的方法,同时也代表了整个文档。
  • Element: 代表 XML 文档中元素的接口。元素是 XML 结构的基本单元。
  • NodeList: XML 文档节点的有序集合,由一个接口表示,通常用于遍历元素列表。
  • Transformer: XML 文档转换接口,指定如何将源树的内容更改为结果树。
  • Source: 一个接口,可以表示 XML 流、DOM 树或其他源作为转换的输入。
  • StreamResult: 一个类,用于显示简单转换的输出,通常作为字符流或字节流。

分步实现指南

#### 步骤 1:创建 DocumentBuilder 和 Document

在 Java 编程中,我们需要在程序中处理 XML。首先,我们需要创建 DocumentBuilderFactory 用于访问 DocumentBuilder 实例,该实例随后用于创建代表 XML 结构的新 Document。

// Create a DocumentBuilder
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();

 // Create a new Document
        Document document = builder.newDocument();

#### 步骤 2:创建根元素

一旦有了 XML 文档,我们需要为文档创建一个根元素,然后将根元素添加到文档中。

// Create root element
        Element root = document.createElement("library");
        document.appendChild(root);

#### 步骤 3:创建子元素

为根元素创建子元素并将其添加到文档中,可以使用 createElement appendChild 方法将内容添加到 XML 文档中。

#### 步骤 4:写入 XML 文件

使用 Transformer 将文档写入 XML 文件,将 DOM 结构转换为字符流。并使用 StreamResult 指定输出文件。

在 Java 中编写 XML 文件的程序

以下是使用 Java 编程语言编写 XML 文件的代码实现。

Java


// Java Program to Write XML Using DOM Parser

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

public class XMLWriterExample {

public static void main(String[] args) throws Exception {

// Create a DocumentBuilder

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

// Create a new Document

Document document = builder.newDocument();

// Create root element

Element root = document.createElement("library");

document.appendChild(root);

// Create book elements and ad

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。如需转载,请注明文章出处豆丁博客和来源网址。https://shluqu.cn/22157.html
点赞
0.00 平均评分 (0% 分数) - 0