首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

[JAVA100例] 第71例:使用 JDOM 操作 XML 文件(構建與輸出)

     編輯:Java 相關知識

本例演示使用 JDOM 庫構建 XML 文檔:創建根元素、添加子元素與屬性、刪除指定節點,最終輸出格式化的 XML 文件。

核心代碼

import org.jdom.*;
import org.jdom.output.*;
import java.io.*;
import java.util.List;

public class JDOMOption {
  public JDOMOption() {
    String[] strChapter = {"基礎知識", "圖形界面", "圖形處理", "I/O操作", "網絡編程", "數據庫"};
    Element elmtRoot = new Element("Article");
    Document docJDOM = new Document(elmtRoot);

    // 構建 6 個 Chapter 元素
    for (int i = 0; i < 6; i++) {
      Element elmtChapter = new Element("Chapter");
      elmtChapter.addContent(strChapter[i]);  // 設置文本內容
      Attribute a = new Attribute("sort", new Integer(i).toString());
      elmtChapter.addAttribute(a);            // 添加屬性
      elmtRoot.addContent(elmtChapter);       // 掛載到根節點
    }

    // 刪除第 5 個元素(索引 4)
    List lstChapter = elmtRoot.getChildren("Chapter");
    lstChapter.remove(4);

    // 輸出 XML 文件
    OutputXML(docJDOM, "myJDOM.xml");
  }

  private void OutputXML(Document docXML, String strFilename) {
    XMLOutputter fmt = new XMLOutputter();
    try {
      fmt.setEncoding("GB2312");      // 設置編碼
      fmt.setNewlines(true);          // 換行縮進
      FileWriter fwXML = new FileWriter(strFilename);
      fmt.output(docXML, fwXML);      // 寫入文件
      fwXML.close();
    } catch (IOException e) { e.printStackTrace(); }
  }

  public static void main(String[] args) {
    new JDOMOption();
  }
}

生成的 XML 文件 (myJDOM.xml)

<?xml version="1.0" encoding="GB2312"?>
<Article>
  <Chapter sort="0">基礎知識</Chapter>
  <Chapter sort="1">圖形界面</Chapter>
  <Chapter sort="2">圖形處理</Chapter>
  <Chapter sort="3">I/O操作</Chapter>
  <Chapter sort="5">數據庫</Chapter>
</Article>

註:原第 5 章「網絡編程」(索引 4)已被刪除。

關鍵 JDOM API 解析

類/方法用途
ElementXML 元素節點,構造器傳入標籤名
DocumentXML 文檔根對象,構造器傳入根元素
addContent()添加子元素或文本內容
Attribute屬性節點,new Attribute(name, value)
addAttribute()將屬性添加到元素
getChildren(name)獲取指定名稱的子元素列表 (List)
XMLOutputterXML 序列化輸出器
setEncoding/setNewlines設置輸出編碼與格式化
output(Document, Writer)寫入字符流

依賴配置

需引入 JDOM JAR 包(Maven 坐標):

<dependency>
  <groupId>org.jdom</groupId>
  <artifactId>jdom2</artifactId>
  <version>2.0.6</version>
</dependency>

註:原例使用 JDOM 1.x,現代項目建議使用 JDOM 2.x,包名變為 org.jdom2。

現代替代方案對比

  • JDOM:API 直觀、Java 風格、適合中小型 XML
  • DOM4J:性能更好、支援 XPath、大文件友好
  • 標準 JDK JAXP (DOM/SAX/StAX):零依賴、API 較繁瑣
  • Jackson XML / JAXB:對象綁定優先,適合數據交換場景
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved