Grazie per l'aiuto, il problema era altrove.

Il cicli annidati funzionano il codice lo avevo già ottimizzato, ho scritto in esteso, solo per dare più, info.
il problema è che ho usato un file per i primi test con campi e records decisi da me,
poi ho preso un'altro file xml dove mancava un tag di campo in uno dei records.

Mi ha dato da pensare quando mi hai detto che non era chiaro se tutti i child avevano lo stesso numero di figli. i file xml che devo gestire hanno il vincolo di avere tutti lo stesso numero di figli, avevo mappato un file da excel e non mi ero accorto che a un child mancava un figlio...

Mea Culpa...