Mail Merge与XML数据源

执行Mail Merge操作时可以使用各种数据源,包括XML文件。 使用XML的主要优点是能够在文档中定义层次结构,然后简单地将其传递给Aspose.Words。

本文将介绍如何从XML文件而不是直接从数据库中读取数据,并将XML作为数据源来执行Mail Merge操作。

XML作为数据源的优点

XML数据源对于存储数据非常方便,而不会产生数据库的开销。 它们非常适合离线应用程序,用户需要在无法连接到数据库时添加,编辑和删除数据。

XML数据可以是关系数据库的良好数据源替代方案,特别是在使用web应用程序时。 大多数web服务使用XML来交换信息。 当前市场上积极使用面向XML的数据库,关系数据库的开发人员正在为其产品添加XML兼容性,以获得数据库返回XML。

由于XML以纯文本格式存储数据,因此存储与平台无关。 因此,数据可以很容易地导出、导入或简单地移动。 XML作为数据源很受欢迎,因为它提供了一种在不同应用程序之间进行通信时保留数据语义含义的方法。

使用DataSet使用XML中的数据填充合并模板

XML是数据交换的通用标准,Microsoft Word文档格式是Mail Merge模板最流行的格式。 因此,将Mail Merge从XML文件运行到Word模板文档的能力已成为常见要求。

Microsoft Word不提供将XML数据用作Mail Merge操作的数据源的直接方法,而Aspose.Words允许您使用XML数据源中的数据执行Mail Merge操作。 请注意,XML文档的结构也可以改变,数据仍然可以正确读取。 这允许不同类型的XML文档轻松合并。

使用ReadXML方法将XML模式和数据读入DataSet对象。 然后将此对象用作mail merge的数据源。

下面的XML包含填写合并模板所需的数据:

<?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中,然后将其用作数据源:

在执行Mail Merge操作之前,您可以注意到模板之间的差异:

fill_merge_template_from_xml_using_dataset

并在执行Mail Merge操作后:

fill_merge_template_from_xml