Como parentesis aparte, cuando se trata de XML, con Delphi lo tenes mucho mas sencillo. Tiene una herramienta integrada llamada XML Data Binding. Basicamente le das un archivo XML (o un esquema que describe la estructura, un archivo XSD) y automaticamente lo lee y te genera interfaces para acceder a las todas las propiedades del XML usando objetos. Tambien te resuelve el problema de los nodos hijos. Yo le pegaria un vistazo:
http://docwiki.embarcadero.com/RADSt...Binding_Wizard