GroupDocs.Editor を使用した Java XML 操作方法 – 完全ガイド
クイック回答
- Java で XML を編集するのに役立つライブラリは何ですか? GroupDocs.Editor for Java.
- パスまたはストリームから XML ファイルをロードできますか? はい –
EditorとXmlEditOptionsを使用します。 - 編集した XML を DOCX または TXT として保存できますか? もちろん、
WordProcessingSaveOptionsまたはTextSaveOptionsを使用します。 - XML タグのフォントハイライトをカスタマイズするには? 編集オプションで
XmlHighlightOptionsを設定します。 - XML ファイルから文書タイプなどのメタデータを取得できますか? はい、
Editor.getDocumentInfo()を使用します。
Java XML 操作とは何ですか?
Java XML 操作とは、XML ファイルを読み取り、要素、属性、テキストノードを変更し、更新されたドキュメントをストレージに書き戻すプログラム的なプロセスです。GroupDocs.Editor は低レベルのパース処理を抽象化し、DOM や SAX の詳細に煩わされることなくビジネスロジックに集中できるようにします。
なぜ Java の XML 操作に GroupDocs.Editor を使用するのか?
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 設定
GroupDocs.Editor を取り込むために、pom.xml ファイルに以下の依存関係を追加してください。
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-editor</artifactId>
<version>25.3</version>
</dependency>
直接ダウンロード
または、GroupDocs.Editor for Java リリース から最新バージョンをダウンロードしてください。
ライセンス取得
- 無料トライアル – すべての機能を体験できる 30 日間のトライアルから始めます。
- 一時ライセンス – GroupDocs ライセンスページ から期間限定キーを取得し、拡張テストに使用します。
- 購入 – GroupDocs 購入オプション からフルライセンスを購入します。
基本的な初期化
Editor は GroupDocs.Editor のメインクラスで、ドキュメント内容のロードと管理を行います。XmlEditOptions は XML の編集表示方法を定義します。
import com.groupdocs.editor.Editor;
String inputFilePath = "path/to/your/sample.xml";
Editor editor = new Editor(inputFilePath);
実装ガイド
このセクションでは、XML のロード(Java)、ドキュメントの編集、XML の TXT 変換、そして XML メタデータの抽出 の主要手順を解説します。
XML ファイルのロードと編集
Editor クラスは XML ドキュメントをロードし管理するコアコンポーネントです。EditableDocument はロードされた XML ドキュメントのマークアップを変更するメソッドを提供します。
直接回答: new Editor("input.xml", new XmlEditOptions()) で XML をロードし、必要な XmlHighlightOptions を適用し、EditableDocument を通じてマークアップを変更し、最後に editor.save() を呼び出します—これらは 3 行の簡潔なコードで実行できます。
手順 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 は、生のマークアップ文字列に対して replace、insert、remove メソッドを提供します。
String originalTextContent = beforeEdit.getContent();
String updatedTextContent = originalTextContent.replace("John", "Samuel");
EditableDocument afterEdit = EditableDocument.fromMarkup(updatedTextContent, beforeEdit.getAllResources());
afterEdit.dispose();
editor.dispose();
編集した XML コンテンツを異なる形式で保存
TextSaveOptions は、エンコーディングや書式設定オプションを含め、プレーンテキストとしてドキュメントを保存する方法を指定します。
直接回答: DOCX にエクスポートするには WordProcessingSaveOptions、プレーンテキスト出力には 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 はインデント(タブかスペースか)、改行スタイル、空要素を折りたたむかどうかを制御し、最終的な外観を完全にコントロールできます。
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 プロパティには、ファイル全体を解析せずに documentType、encoding、rootElementName が含まれます。
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 の TextSaveOptions クラスを使用して、編集した XML ドキュメントをプレーンテキストに変換します。インデント、改行、文字エンコーディングを保持するようオプションを設定し、editor.save("output.txt", saveOptions) を呼び出します。これにより、元の XML 構造を反映しつつマークアップタグを除去した、読みやすい TXT ファイルが生成されます。
Java の XML 操作 – 上級ヒント
- バッチ置換 – 大規模な変換には正規表現を使用した
String.replaceAllを活用します。 - コメントの保持 – 明示的に削除しない限り、エディタは XML コメントを保持します。
- リソースの再利用 –
EditableDocument.fromMarkupは埋め込みリソース(画像、スタイル)をそのまま保持しながらドキュメントを再生成します。
XML メタデータの抽出方法
GroupDocs.Editor を使用すれば、XML ファイルからのメタデータ抽出はシンプルです。ドキュメントをロードした後、editor.getDocumentInfo(null) を呼び出して TextualDocumentInfo オブジェクトを取得します。このオブジェクトには xmlInfo セクションが含まれ、完全な DOM パースを行うことなく文書タイプ、エンコーディング、ルート要素名などの詳細を取得できます。
xmlInfo.getDocumentType()– “XML” を返します。xmlInfo.getEncoding()– 文字エンコーディング(例: UTF‑8)。xmlInfo.getRootElementName()– ルート要素の名前で、ドキュメント構造の概要をすばやく把握できます。
実用的な応用例
これらの手法が活躍する実世界のシナリオ:
- コンテンツ管理システム – 環境間で XML ベースの設定ファイルを自動的に更新します。
- E コマースプラットフォーム – XML フィードをオンザフライで編集し、商品カタログを同期させます。
- データ交換 – レガシー XML レポートを人間が読める TXT または DOCX に変換し、非技術的なステークホルダー向けに提供します。
よくある質問
Q: 本番環境で XML を編集するにはライセンスが必要ですか?
A: はい、製品版の使用には有効な GroupDocs.Editor ライセンスが必要です。評価目的であればトライアルライセンスで十分です。
Q: ライブラリは非常に大きな XML ファイル(数百 MB)を処理できますか?
A: GroupDocs.Editor はストリーミングでドキュメントを処理するため、ファイル全体をメモリにロードせずに数百メガバイトまでのファイルを扱えます。
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>