Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
XML dosyası da dahil olmak üzere Mail Merge işlemi gerçekleştirirken çeşitli veri kaynaklarını kullanabilirsiniz. XML kullanmanın en büyük avantajı, belgede bir hiyerarşi tanımlama ve ardından onu Aspose.Words ‘a geçirme yeteneğidir.
Bu makalede, doğrudan bir veritabanından değil, bir XML dosyasından verilerin nasıl okunacağı ve bir Mail Merge işleminin gerçekleştirileceği veri kaynağı olarak XML’in nasıl ekleneceği açıklanacaktır.
XML veri kaynakları, bir veritabanının yükü olmadan veri depolamak için çok kullanışlıdır. Kullanıcıların bir veritabanına bağlanamadıklarında veri eklemeleri, düzenlemeleri ve silmeleri gereken çevrimdışı uygulamalar için mükemmeldir.
XML veriler, özellikle web uygulamalarıyla çalışıyorsanız, ilişkisel veritabanlarına iyi bir veri kaynağı alternatifi olabilir. Çoğu web hizmeti bilgi alışverişinde bulunmak için XML kullanır. XML yönelimli veritabanları mevcut pazarda aktif olarak kullanılmaktadır ve ilişkisel veritabanlarının geliştiricileri, XML döndüren bir veritabanına sahip olmak için ürünlerine XML uyumluluk eklemektedir.
XML verileri düz metin biçiminde depoladığından, depolama platformdan bağımsızdır. Böylece veriler kolayca dışa aktarılabilir, içe aktarılabilir veya basitçe taşınabilir. XML bir veri kaynağı olarak popülerdir çünkü farklı uygulamalar arasında iletişim kurarken verilerin anlamsal anlamını korumanın bir yolunu sunar.
XML, veri değişimi için evrensel standarttır ve Microsoft Word belge biçimleri, Mail Merge şablonlar için en popüler biçimlerdir. Bu nedenle, bir Mail Merge dosyasını bir XML dosyasından bir Word şablon belgesine çalıştırma yeteneği yaygın bir gereklilik haline gelmiştir.
Microsoft Word, bir Mail Merge işlemi için veri kaynağı olarak XML verileriyle çalışmak için doğrudan bir yöntem sunmazken, Aspose.Words, bir XML veri kaynağından gelen verilerle bir Mail Merge işlemi gerçekleştirmenize izin verir. XML belgesinin yapısının da değiştirilebileceğini ve verilerin yine de doğru okunacağını unutmayın. Bu, farklı türde XML belgelerin kolayca birleştirilmesini sağlar.
XML şemasını ve verilerini DataSet
nesnesine okumak için ReadXML
yöntemini kullanın. Bu nesne daha sonra bir mail merge için veri kaynağı olarak kullanılır.
Aşağıdaki XML, birleştirme şablonunu doldurmak için gereken verileri içerir:
<?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>
Aşağıdaki kod örneği, XML verilerinin DataSet dosyasına nasıl yükleneceğini ve ardından veri kaynağı olarak nasıl kullanılacağını gösterir:
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getSharedDataDir(XMLMailMerge.class) + "MailMerge/"; | |
// Create the Dataset and read the XML. | |
DataSet customersDs = new DataSet(); | |
customersDs.readXml(dataDir + "Customers.xml"); | |
String fileName = "TestFile XML.doc"; | |
// Open a template document. | |
Document doc = new Document(dataDir + fileName); | |
// Execute mail merge to fill the template with data from XML using DataTable. | |
// Note that this class also works with a single repeatable region (and any nested regions). | |
// To merge multiple regions at the same time from a single XML data source, use the XmlMailMergeDataSet class. | |
// e.g doc.getMailMerge().executeWithRegions(new XmlMailMergeDataSet(xmlData)); | |
doc.getMailMerge().execute(customersDs.getTables().get("Customer")); | |
// Save the output document. | |
doc.save(dataDir + fileName); |
Mail Merge işlemini yürütmeden önce şablon arasındaki farkı fark edebilirsiniz:
Ve Mail Merge işlemini yürüttükten sonra:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.