Thanks for your patience. Please note your template is causing issue, field names and table names in the template and data should match. Please use executeWithRegions() method as following with updated template, it will help you to accomplish the task. Please find updated template and output file for reference.
TestFile Out_176.zip (19.3 KB)
// 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.
//doc.getMailMerge().execute(new XmlMailMergeDataTable(xmlData, "customer"));