---
title: "Mail MergeとXMLのデータソースをC#に設定します"
---

Mail Merge操作を実行するときには、XMLファイルを含むさまざまなデータソースを使用できます。 XMLを使用する主な利点は、文書内で階層を定義し、それを単にAspose.Wordsに渡すことができることです。

この記事では、データベースから直接ではなくXMLファイルからデータを読み取り、Mail Merge操作を実行するためのデータソースとしてXMLを含める方法について説明します。

## データソースとしてのXMLの利点

XMLデータソースは、データベースのオーバーヘッドなしでデータを格納するのに非常に便利です。 これらは、ユーザーがデータベースに接続できないときにデータを追加、編集、削除する必要があるオフラインアプリケーションに最適です。

XMLデータは、特にwebアプリケーションを使用する場合に、リレーショナルデータベースに代わる優れたデータソースになります。 ほとんどのwebサービスはXMLを使用して情報を交換します。 XML指向データベースは現在の市場で積極的に使用されており、リレーショナルデータベースの開発者は、データベースがXMLを返すように製品にXML互換性を追加してい

XMLはデータをプレーンテキスト形式で格納するため、ストレージはプラットフォームに依存しません。 従って、データは容易に輸出されるか、輸入されるか、または単に動かすことができる。 XMLは、異なるアプリケーション間で通信するときにデータの意味的な意味を保持する方法を提供するため、データソースとして一般的です。

## DataSetを使用してXMLのデータをマージテンプレートに入力する

XMLはデータ交換のための普遍的な標準であり、Microsoft Wordドキュメント形式はMail Mergeテンプレートの最も一般的な形式です。 したがって、XMLファイルからWordテンプレート文書にMail Mergeを実行する機能は一般的な要件となっています。

Microsoft WordはMail Merge操作のデータソースとしてXMLデータを操作する直接的な方法を提供しませんが、Aspose.WordsではXMLデータソースからのデータを使用してMail Merge操作を実行できます。Microsoft WordはMail Merge操作を実行するための直接的な方法を提供しません。 XML文書の構造も変更することができ、データは引き続き正しく読み取られることに注意してください。 これにより、異なるタイプのXMLドキュメントを簡単にマージできます。

`ReadXML`メソッドを使用して、XMLスキーマとデータを`DataSet`オブジェクトに読み込みます。 このオブジェクトは、mail mergeのデータソースとして使用されます。

```

異なるデータソースに同じテンプレートを使用できます。

```

次のXMLには、マージテンプレートに入力するために必要なデータが含まれています:

```csharp
<?xml version="1.0" encoding="utf-8"?>
<customers>
	 <customer Name="John Ben Jan" ID="1" Domain="History" City="Boston"/>
 	<customer Name="Lisa Lane" ID="2" Domain="Chemistry" City="LA"/>
	 <customer Name="Dagomir Zits" ID="3" Domain="Heraldry" City="Milwaukee"/>
 	<customer Name="Sara Careira Santy" ID="4" Domain="IT" City="Miami"/>
</customers>
```

次のコード例は、XMLデータをDataSetにロードし、それをデータソースとして使用する方法を示しています:

{{< gist "aspose-words-gists" "0441f68c5209fec25c47d1a0a203fbb0" "xml-mail-merge.cs" >}}

```

この例のサンプルファイルは、次の場所からダウンロードできます [Aspose.Words GitHub](https://github.com/aspose-words/Aspose.Words-for-.NET/blob/master/Examples/Data/Mail%20merge%20data%20-%20Customers.xml).

```

Mail Merge操作を実行する前に、テンプレートの違いに気付くことができます:

![fill_merge_template_from_xml_using_dataset](fill-merge-template-from-xml-using-dataset-1.png)

そして、Mail Merge操作を実行した後:

![fill_merge_template_from_xml](fill-merge-template-from-xml-using-dataset-2.png)
