Можно сделать этот исключительно легко использующий Groovy, и код очень читаем.
В основном, текстовая переменная будет записана в contacts.xml
для каждой строки в эти contactData.csv
, и массив fields содержит каждый столбец.
def file1 = new File('c:\\temp\\ContactData.csv')
def file2 = new File('c:\\temp\\contacts.xml')
def reader = new FileReader(file1)
def writer = new FileWriter(file2)
reader.transformLine(writer) { line ->
fields = line.split(',')
text = """<CLIENTS>
<firstname> ${fields[2]} </firstname>
<surname> ${fields[1]} </surname>
<email> ${fields[9]} </email>
<employeenumber> password </employeenumber>
<title> ${fields[4]} </title>
<phone> ${fields[3]} </phone>
</CLIENTS>"""
}
Работает нормально, если ваши внутренние транзакции в сохраненном процессы совершены, все будет совершено. Если один из них откатится, все во внешней транскации откатится. Чистая магия. :)