What you need to look into is Dynamic concepts of template. Your requirement may seam simple but have many design changes involved and it is hard of any one to put them in a step by step order or explain. Just to give you some idea.......how I would start on such requirement.
1. Create an XSD.
2. Design that template based on the designed XSD.
3. While designing just create one set of fields that repeat and group them as one subform.
4. In the Subform binding set the data binding to the repeating node in the XSD
5. Then set the binding for each field to pull up the data from corresponding tag.
6. Save the template as Dynamic template.
Then when you merge the XML data it gets populated and the section repeats it self based on the available data.
I am not sure how much I am helpful with this answer but certainly you need to learn entire dynamic concepts to get this done.
Good Luck,