NContacto := XMLDoc.DocumentElement.ChildNodes.FindNode('contacto');
repeat
memo1.Lines.Add( 'Contacto:' );
memo1.lines.add( 'Nombre : ' + NContacto.ChildNodes['nombre'].Text );
memo1.lines.add( 'Direccion : ' + NContacto.ChildNodes['direccion'].Text);
memo1.lines.add( 'Teléfono : ' + NContacto.ChildNodes['telf'].Text);
NDireccion := NContacto.ChildNodes.FindNode('dir');
repeat
memo1.lines.add( 'Nombre : ' + NDireccion.ChildNodes['nombre'].Text);
memo1.lines.add( 'Direccion : ' + NDireccion.ChildNodes['direccion'].Text);
memo1.lines.add( 'Teléfono : ' + NDireccion.ChildNodes['telf'].Text);
NDireccion := NDireccion.NextSibling;
Until NDireccion = nil;
NContacto := NContacto.NextSibling;
Until NContacto = nil;