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

在现代 Java 应用程序中,如何编辑 XML 是一个常见的挑战,尤其是当您需要以编程方式加载、修改和保存 XML 文档时。无论您是构建内容管理系统、电子商务目录,还是任何数据交换服务,能够直接在 Java 中操作 XML 文件都可以为您节省大量手动工作时间。在本教程中,我们将演示如何使用 GroupDocs.Editor 加载 XML Java,进行更改,转换 XML 为 TXT,甚至 提取 XML 元数据——同时保持代码简洁且易于维护。

快速答案

  • 什么库帮助您在 Java 中编辑 XML? GroupDocs.Editor for Java.
  • 我可以从路径或流加载 XML 文件吗? 是的 – 使用 EditorXmlEditOptions
  • 是否可以将编辑后的 XML 保存为 DOCX 或 TXT? 当然,可以使用 WordProcessingSaveOptionsTextSaveOptions
  • 如何自定义 XML 标签的字体高亮? 在编辑选项上配置 XmlHighlightOptions
  • 我能检索 XML 文件的元数据(如文档类型)吗? 可以,通过 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(任意近期版本)
  • 如 IntelliJ IDEA 或 Eclipse 等 IDE
  • Maven(如果您偏好依赖管理)

必备知识

  • 基本的 Java 语法
  • 熟悉 XML 结构(元素、属性、CDATA)

设置 GroupDocs.Editor for Java

Maven 配置

在您的 pom.xml 文件中添加以下内容,以将 GroupDocs.Editor 作为依赖项引入:

<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 下载最新版本。

获取许可证

基本初始化

以下是在 Java 应用程序中初始化 GroupDocs.Editor 的方式:

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),以避免字符乱码。

Java 中的 XML 操作 – 高级技巧

  • 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