Mail Merge עם XML מקור נתונים

ניתן להשתמש במגוון מקורות נתונים בעת ביצוע פעולת Mail Merge, כולל קובץ XML. היתרון העיקרי בשימוש XML הוא היכולת להגדיר היררכיה ממש במסמך ואז פשוט להעביר אותה ל Aspose.Words.

מאמר זה יתאר כיצד לקרוא נתונים מקובץ XML ולא ישירות ממסד נתונים ויכלול XML כמקור הנתונים לביצוע פעולה Mail Merge.

היתרונות של XML כמקור נתונים

XML מקורות נתונים שימושיים מאוד לאחסון נתונים ללא תקורה של מסד נתונים. הם נהדרים עבור יישומים לא מקוונים שבהם המשתמשים צריכים להוסיף, לערוך ולמחוק נתונים כאשר הם לא יכולים להתחבר למסד נתונים.

XML נתונים יכולים להוות אלטרנטיבה טובה למקור נתונים למאגרי מידע יחסיים, במיוחד אם אתה עובד עם יישומי אינטרנט. רוב שירותי האינטרנט משתמשים ב - XML כדי להחליף מידע. מסדי נתונים מכוונים XML משמשים באופן פעיל בשוק הנוכחי, ומפתחי מסדי נתונים יחסיים מוסיפים XML תאימות למוצרים שלהם כדי לקבל החזר מסד נתונים XML.

מכיוון ש XML מאחסן נתונים בפורמט טקסט רגיל, האחסון אינו תלוי בפלטפורמה. לפיכך, ניתן לייצא, לייבא או פשוט להעביר נתונים בקלות. XML פופולרי כמקור נתונים מכיוון שהוא מציע דרך לשמר את המשמעות הסמנטית של נתונים בעת תקשורת בין יישומים שונים.

מילוי תבנית מיזוג עם נתונים מ XML באמצעות DataSet

XML הוא הסטנדרט האוניברסלי להחלפת נתונים, ו Microsoft Word פורמטים של מסמכים הם הפורמטים הפופולריים ביותר עבור Mail Merge תבניות. לכן, היכולת להריץ Mail Merge מקובץ XML למסמך תבנית Word הפכה לדרישה נפוצה.

Microsoft Word אינו מספק שיטה ישירה לעבודה עם XML נתונים כמקור נתונים לפעולה Mail Merge, ואילו Aspose.Words מאפשר לך לבצע פעולה Mail Merge עם נתונים ממקור נתונים XML. שים לב שגם מבנה המסמך 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 ולאחר מכן להשתמש בהם כמקור נתונים:

// 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:

fill_merge_template_from_xml_using_dataset_aspose_words_java

ואחרי ביצוע הפעולה Mail Merge:

fill_merge_template_from_xml_aspose_words_java