Hola Madmai...
Creo saber lo que ocupas, mira, Yo hice algo mas o menos como lo que necesitas y para ello eche mano del XMLMapper que viene con Delphi, ahi puedes generar el XMLDocument y dos transformaciones que son ToDp.xtr y ToXML.xtr. El archivo ToDp.xtr te sirve para convertir lo que esta en el XMLDocument a un DataPacket y el archivo ToXML.xtr hace lo contrario, convierte el DataPacket a un XML.
Aqui tienes algo sobre XML Mapper:
http://dn.codegear.com/article/28010
Una vez que generes estos 3 archivos: XMLDocument.XML, XMLDocumentToDp.xtr, XMLDocumentToXML.xtr, ahora en Delphi ocupas de los siguientes componentes:
XMLTransformProvider (En la paleta de DataAccess)
ClientDataSet (En la paleta DataAccess o tu preferido)
Ahora bien, primero tienes que configurar el XMLTransformProvider las siguientes propiedades en el inspector de objetos:
* Name = XMLDsp
* TransformRead.TransformationFile = Ruta completa de tu archivo XMLDocumentToDp.xtr
* TransformWrite.TransformationFile = Ruta completa de tu archivo XMLDocumentToXML.xtr
* XMLDataFile = Ruta compleata de tu archivo XMLDocument.XML
Una vez que ya tengas echo lo anterior, ahora en el Componente ClientDataSet solo tienes que ajustar la propiedad
ProviderName = XMLDsp
Espero te sirva....
Edgar Perez...