如何在 Java 中使用 GroupDocs.Editor 編輯 XML – 完整指南

在現代的 Java 應用程式中,如何編輯 XML 高效是一個常見挑戰,尤其是當你需要以程式方式載入、修改並儲存 XML 文件時。無論你是構建內容管理系統、電子商務目錄,或任何資料交換服務,能夠直接從 Java 操作 XML 檔案都能為你節省大量手動工作時間。在本教學中,我們將示範如何使用 GroupDocs.Editor 載入 XML Java、進行變更、轉換 XML 為 TXT,甚至 提取 XML 中繼資料——同時保持程式碼的清晰與可維護性。

快速答覆

  • 什麼函式庫可以協助你在 Java 中編輯 XML? GroupDocs.Editor for Java.
  • 我可以從路徑或串流載入 XML 檔案嗎? Yes – use Editor with XmlEditOptions.
  • 是否可以將編輯過的 XML 儲存為 DOCX 或 TXT? Absolutely, using WordProcessingSaveOptions or TextSaveOptions.
  • 如何自訂 XML 標籤的字體突顯? Configure XmlHighlightOptions on the edit options.
  • 我能從 XML 檔案取得如文件類型等中繼資料嗎? Yes, via Editor.getDocumentInfo().

什麼是「如何在 Java 中編輯 XML」?

編輯 XML 意味著以程式方式讀取 XML 文件,變更其節點、屬性或文字,然後將變更持久化。GroupDocs.Editor 抽象化了低階的解析,提供豐富的編輯 API,讓你能專注於業務邏輯,而非 XML 的底層處理。

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

  • Zero‑dependency parsing – 無需自行管理 SAX/DOM。
  • Built‑in format conversion – 可輕鬆匯出至 Word、Text 或 HTML。
  • Rich highlighting – 提升大型 XML 檔案的可讀性。
  • Metadata extraction – 無需完整解析即可快速發現文件屬性。

前置條件

在深入之前,請確保你已具備:

  • GroupDocs.Editor for Java(版本 25.3 或更新)
  • JDK(任何近期版本)
  • IDE,例如 IntelliJ IDEA 或 Eclipse
  • Maven(如果你偏好相依性管理)

必備知識

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

設定 GroupDocs.Editor for Java

Maven 設定

Add the following to your pom.xml file to include GroupDocs.Editor as a dependency:

<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>

直接下載

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

取得授權

基本初始化

Here’s how you can initialize GroupDocs.Editor in your Java application:

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 檔案

概覽:從檔案路徑載入 XML 文件,設定編輯偏好,並修改其內容。

步驟 1:載入 XML 文件

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 editOptions = new XmlEditOptions();
editOptions.setAttributeValuesQuoteType(QuoteType.DoubleQuote); // Use double quotes for attribute values
EditableDocument beforeEdit = editor.edit(editOptions);

步驟 3:修改內容

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

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

概覽:將編輯後的 XML 匯出為 Word(DOCX)或純文字(TXT)。

步驟 1:儲存為 DOCX

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

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 編輯的突顯選項

概覽:自訂 XML 標籤、屬性與 CDATA 區段的字體設定,以提升可讀性。

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 編輯的格式選項

概覽:定義縮排、換行偏好及其他格式規則。

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 中繼資料資訊

概覽:提取如文件類型、編碼與根元素名稱等中繼資料。

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 – 常見陷阱

  • Incorrect file path – 請始終使用絕對路徑或使用 Paths.get(...) 解析相對路徑。
  • Missing license – 若未持有有效授權,編輯器將以試用模式運行,且可能嵌入浮水印。
  • Encoding mismatches – 請確保 XML 檔案的編碼與 GroupDocs.Editor 預期的相符(UTF‑8 為最安全)。

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

TextSaveOptions 如前所示,可讓你將任何編輯過的 XML 轉換為純文字。請記得設定正確的字元集(StandardCharsets.UTF_8),以避免字元亂碼。

XML 操作 Java – 進階技巧

  • Batch replace – 使用正則表達式的 String.replaceAll 進行複雜的批次取代。
  • Preserve comments – 編輯器會保留 XML 註解,除非你明確移除。
  • Use EditableDocument.fromMarkup – 此方法會重新建立文件,同時保留資源(圖片、樣式)。

如何提取 XML 中繼資料

呼叫 editor.getDocumentInfo(null) 後,會取得 TextualDocumentInfo 物件。可用的屬性包括:

  • xmlInfo.getDocumentType() – 例如 “XML”。
  • xmlInfo.getEncoding() – 回傳檔案的字元編碼。
  • xmlInfo.getRootElementName() – 快速了解文件結構。

實務應用

以下是這些技術在實務中發揮效益的情境:

  1. Content Management Systems – 自動更新基於 XML 的設定檔案。
  2. E‑commerce Platforms – 透過程式方式編輯 XML 資料來源,保持商品目錄同步。
  3. Data Interchange – 將舊有 XML 報告轉換為利害關係人可讀的 TXT 或 DOCX。

常見問答

Q: 我需要授權才能在正式環境編輯 XML 嗎?
A: 是的,正式部署需要有效的 GroupDocs.Editor 授權;可使用試用版進行評估。

Q: 我可以使用此函式庫編輯大型 XML 檔案(數百 MB)嗎?
A: GroupDocs.Editor 會串流處理文件,但對於極大檔案建議分段處理或使用專門的 XML 解析器。

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

Q: 我該如何處理 XML 命名空間?
A: 命名空間被視為一般屬性;可使用前述相同的 replace 方法進行修改。

Q: 支援哪些 Java 版本?
A: GroupDocs.Editor 25.3 支援 Java 8 及以上版本。


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