如何使用 GroupDocs.Editor 進行 Java XML 操作 – 完整指南

在現代的 Java 應用程式中,java xml manipulation 是常見需求——無論是更新設定檔、同步產品目錄,或是產生報告。手動執行這些工作容易出錯且耗時。於本教學中,您將了解 GroupDocs.Editor 如何簡化整個流程:載入 XML 文件、編輯節點、將內容轉換為 TXT 或 DOCX,並提取有用的中繼資料——全部使用乾淨且易於維護的 Java 程式碼。

快速解答

  • 什麼函式庫可協助您在 Java 中編輯 XML? GroupDocs.Editor for Java.
  • 我可以從路徑或串流載入 XML 檔案嗎? 可以——使用 Editor 搭配 XmlEditOptions.
  • 是否能將編輯後的 XML 儲存為 DOCX 或 TXT? 當然可以,使用 WordProcessingSaveOptionsTextSaveOptions.
  • 如何自訂 XML 標籤的字型突顯? 在編輯選項上設定 XmlHighlightOptions.
  • 我能從 XML 檔案取得如文件類型等中繼資料嗎? 可以,透過 Editor.getDocumentInfo().

什麼是 java xml manipulation?

Java xml manipulation 是以程式方式讀取 XML 檔案、變更其元素、屬性或文字節點,並將更新後的文件寫回儲存的過程。GroupDocs.Editor 抽象化低階解析,讓您專注於業務邏輯,而不必處理 DOM 或 SAX 的細節。

為何在 Java 中使用 GroupDocs.Editor 進行 XML 操作?

GroupDocs.Editor 支援 50 多種輸入與輸出格式,可在不將整個文件載入記憶體的情況下處理多百頁的 XML 檔案,並提供內建的突顯功能,加速手動審閱。其零相依性引擎免除管理獨立 XML 解析器的需求,且提供一鍵轉換為 Word、純文字或 HTML,將開發時間縮減至最高 70 %。

前置條件

  • GroupDocs.Editor for Java(版本 25.3 或更新)
  • JDK 8+(任何近期版本皆可)
  • 如 IntelliJ IDEA 或 Eclipse 等 IDE
  • Maven(或 Gradle)用於相依管理

必備知識

  • 基本的 Java 語法
  • 熟悉 XML 概念(元素、屬性、CDATA)

設定 GroupDocs.Editor for Java

Maven 設定

在您的 pom.xml 檔案中加入以下相依,以取得 GroupDocs.Editor:

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-editor</artifactId>
    <version>25.3</version>
</dependency>

直接下載

或者,從 GroupDocs.Editor for Java releases 下載最新版本。

取得授權

基本初始化

Editor 是 GroupDocs.Editor 的主要類別,用於載入與管理文件內容。XmlEditOptions 定義 XML 在編輯時的呈現方式。

import com.groupdocs.editor.Editor;

String inputFilePath = "path/to/your/sample.xml";
Editor editor = new Editor(inputFilePath);

實作指南

本節將逐步說明 load XML Java、編輯文件、convert XML TXT 以及 extract XML metadata 的核心步驟。

載入與編輯 XML 檔案

Editor 類別是載入與管理 XML 文件的核心元件。
EditableDocument 提供修改已載入 XML 文件標記的各種方法。

直接回答: 使用 new Editor("input.xml", new XmlEditOptions()) 載入 XML,依需求套用 XmlHighlightOptions,透過 EditableDocument 修改標記,最後呼叫 editor.save()——全部僅需三行簡潔程式碼。

步驟 1:載入 XML 文件

Editor 載入檔案並建立可供編輯的記憶體內表示。

import com.groupdocs.editor.Editor;
import com.groupdocs.editor.editable.EditableDocument;
import com.groupdocs.editor.options.XmlEditOptions;

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY" + "/sample.xml";
Editor editor = new Editor(inputFilePath);

步驟 2:設定編輯選項

XmlEditOptions 讓您開啟語法突顯、行號以及自訂字型。

XmlEditOptions editOptions = new XmlEditOptions();
editOptions.setAttributeValuesQuoteType(QuoteType.DoubleQuote); // Use double quotes for attribute values
EditableDocument beforeEdit = editor.edit(editOptions);

步驟 3:修改內容

EditableDocument 提供 replaceinsertremove 方法,可直接作用於原始標記字串。

String originalTextContent = beforeEdit.getContent();
String updatedTextContent = originalTextContent.replace("John", "Samuel");
EditableDocument afterEdit = EditableDocument.fromMarkup(updatedTextContent, beforeEdit.getAllResources());
afterEdit.dispose();
editor.dispose();

將編輯後的 XML 內容儲存為不同格式

TextSaveOptions 指定文件以純文字儲存時的編碼與格式選項。

直接回答: 使用 WordProcessingSaveOptions 匯出為 DOCX,或使用 TextSaveOptions 輸出為純文字;只需將選項傳入 editor.save("output.docx", saveOptions)editor.save("output.txt", saveOptions)

步驟 1:儲存為 DOCX

WordProcessingSaveOptions 在將 XML 結構轉換為 Word 表格與標題時保留版面配置。

import com.groupdocs.editor.options.WordProcessingSaveOptions;
import java.nio.charset.StandardCharsets;

String outputWordPath = "YOUR_OUTPUT_DIRECTORY" + "/output.docx";
WordProcessingSaveOptions wordSaveOptions = new WordProcessingSaveOptions(WordProcessingFormats.Docx);
afterEdit.save(outputWordPath, wordSaveOptions);

步驟 2:儲存為 TXT

TextSaveOptions 產生乾淨且縮排的 XML 純文字版本,遵循您設定的格式規則。

import com.groupdocs.editor.options.TextSaveOptions;

String outputTxtPath = "YOUR_OUTPUT_DIRECTORY" + "/output.txt";
TextSaveOptions txtSaveOptions = new TextSaveOptions();
txtSaveOptions.setEncoding(StandardCharsets.UTF_8);
afterEdit.save(outputTxtPath, txtSaveOptions);

XML 編輯的突顯選項

XmlHighlightOptions 讓您在編輯時自訂 XML 標籤、屬性與值的顏色與字型。

直接回答: 建立 XmlHighlightOptions 實例,設定標籤、屬性與 CDATA 的字型系列、大小與顏色,然後在載入文件前將其指派給 XmlEditOptions

import com.groupdocs.editor.options.XmlHighlightOptions;
import com.groupdocs.editor.htmlcss.css.datatypes.ArgbColors;
import com.groupdocs.editor.htmlcss.css.properties.FontSize;
import com.groupdocs.editor.htmlcss.css.properties.FontStyle;
import com.groupdocs.editor.htmlcss.css.properties.FontWeight;
import com.groupdocs.editor.htmlcss.css.properties.TextDecorationLineType;

XmlEditOptions editOptions = new XmlEditOptions();
XmlHighlightOptions highlightOptions = editOptions.getHighlightOptions();

highlightOptions.getXmlTagsFontSettings().setSize(FontSize.Large);
highlightOptions.getXmlTagsFontSettings().setColor(ArgbColors.Olive);

highlightOptions.getAttributeNamesFontSettings().setName("Arial");
highlightOptions.getAttributeNamesFontSettings().setLine(TextDecorationLineType.Underline);

highlightOptions.getAttributeValuesFontSettings().setStyle(FontStyle.Italic);

highlightOptions.getCDataFontSettings().setLine(TextDecorationLineType.LineThrough);

highlightOptions.getHtmlCommentsFontSettings().setColor(ArgbColors.Lightgreen);

highlightOptions.resetToDefault();
afterEdit.dispose();
editor.dispose();

XML 編輯的格式選項

XmlFormatOptions 控制儲存 XML 時的縮排、換行樣式與元素折疊。

直接回答: XmlFormatOptions 控制縮排(Tab 或空格)、換行樣式,以及是否折疊空元素,讓您完整掌握最終外觀。

import com.groupdocs.editor.htmlcss.css.datatypes.Length;
import com.groupdocs.editor.htmlcss.css.datatypes.LengthUnit;

XmlEditOptions editOptions = new XmlEditOptions();
XmlFormatOptions formatOptions = editOptions.getFormatOptions();

formatOptions.setEachAttributeFromNewline(true);
formatOptions.setLeftIndent(Length.fromValueWithUnit(20, LengthUnit.Px));
formatOptions.setLeafTextNodesOnNewline(true);
formatOptions.setLeftIndent(Length.UnitlessZero);

afterEdit.dispose();
editor.dispose();

取得 XML 中繼資料資訊

TextualDocumentInfo 保存文件的提取資訊,包括 XML 專屬的中繼資料。

直接回答: 呼叫 editor.getDocumentInfo(null) 取得 TextualDocumentInfo 物件;其 xmlInfo 屬性包含 documentTypeencodingrootElementName,無需完整解析檔案。

import com.groupdocs.editor.IDocumentInfo;
import com.groupdocs.editor.metadata.TextualDocumentInfo;

Editor editor = new Editor(inputFilePath);
IDocumentInfo info = editor.getDocumentInfo(null);
TextualDocumentInfo xmlInfo = (TextualDocumentInfo)info;

afterEdit.dispose();
editor.dispose();

如何載入 XML Java – 常見陷阱

使用 GroupDocs.Editor 載入 XML 相當簡單,但必須確保檔案路徑正確、已套用適當授權,且文件編碼與來源相符。使用絕對路徑或 Paths.get(...) 可避免解析錯誤,有效授權可防止試用水印,並在 XmlEditOptions 中設定正確的字元集以確保字元正確處理。

  • 檔案路徑錯誤 – 請始終使用 Paths.get(...) 或絕對路徑來解析。
  • 缺少授權 – 若未使用有效授權,編輯器會以試用模式運行,並在輸出中加入水印。
  • 編碼不匹配 – 確保來源 XML 為 UTF‑8,或在 XmlEditOptions 中明確設定預期的編碼。

如何使用 GroupDocs.Editor 轉換 XML 為 TXT

使用 GroupDocs.Editor 將編輯後的 XML 文件轉換為純文字,透過 TextSaveOptions 類別完成。設定選項以保留縮排、換行與字元編碼,然後呼叫 editor.save("output.txt", saveOptions)。此方式會產生乾淨、易於閱讀的 TXT 檔,保留原始 XML 結構,同時去除標記。

XML manipulation java – 進階技巧

  • 批次取代 – 使用正規表達式搭配 String.replaceAll 進行大規模轉換。
  • 保留註解 – 編輯器會保留 XML 註解,除非您明確刪除。
  • 重複使用資源EditableDocument.fromMarkup 重新建立文件,同時保留嵌入的資源(圖片、樣式)。

如何提取 XML 中繼資料

使用 GroupDocs.Editor 提取 XML 檔案的中繼資料相當簡單。載入文件後,呼叫 editor.getDocumentInfo(null) 取得 TextualDocumentInfo 物件,其中包含 xmlInfo 區段。此資訊提供文件類型、編碼與根元素名稱等細節,無需完整的 DOM 解析。

  • xmlInfo.getDocumentType() – 回傳 “XML”。
  • xmlInfo.getEncoding() – 文字編碼(例如 UTF‑8)。
  • xmlInfo.getRootElementName() – 根元素名稱,讓您快速了解文件結構。

實務應用

這些技術在實務情境中的應用包括:

  1. 內容管理系統 – 自動在不同環境間更新基於 XML 的設定檔。
  2. 電子商務平台 – 透過即時編輯 XML 資訊流,保持產品目錄同步。
  3. 資料交換 – 將舊有 XML 報告轉換為易讀的 TXT 或 DOCX,供非技術利害關係人使用。

常見問題

Q: 在正式環境編輯 XML 是否需要授權?
A: 是的,正式環境需要有效的 GroupDocs.Editor 授權;評估階段可使用試用授權。

Q: 此函式庫能處理非常大的 XML 檔案(數百 MB)嗎?
A: GroupDocs.Editor 以串流方式處理文件,讓您在不將整個檔案載入記憶體的情況下,操作高達數百 MB 的檔案。

Q: 儲存為 TXT 時是否保留原始格式?
A: TextSaveOptions 會遵循 XmlFormatOptions 中定義的縮排與換行設定,提供乾淨的文字表示。

Q: XML 命名空間如何處理?
A: 命名空間會以一般屬性形式出現;您可使用前述相同的 replace 方法編輯或移除。

Q: 支援哪些 Java 版本?
A: GroupDocs.Editor 25.3 支援 Java 8 及以上版本,包括 Java 11、Java 17 以及後續的 LTS 版本。


最後更新: 2026-08-15
測試環境: GroupDocs.Editor 25.3 for Java
作者: GroupDocs

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/editor/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-editor</artifactId>
      <version>25.3</version>
   </dependency>
</dependencies>

相關教學