Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Internet (https://www.clubdelphi.com/foros/forumdisplay.php?f=3)
-   -   Creación de Ficheros XML (https://www.clubdelphi.com/foros/showthread.php?t=17619)

muli 15-01-2005 00:39:13

Creación de Ficheros XML
 
Como puedo crear un fichero XML desde delphi, sin tener ningún fichero ni nada solo a partir de datos que puedan estar en una tabla o en un control cualquiera.

Saludos.

Toñico 17-01-2005 09:43:29

Hola Muli,

para crear ficheros XML va a depender de que versión de Delphi tengas. En las versiones entreprise ya tienes los componentes para usarlos sin mas y seguro que tienes algún ejemplo. en esta dirección

http://delphi.about.com/library/bluc/text/uc050601a.htm

seguro que encuentras una gran ayuda.

Un mini ejemplo de como crear un fichero XML con una estructura muy básica es el siguiente:

../..
XMLDocument1.Active := True;
XMLNodo := XMLDocument1.AddChild('file');
For nContador := 1 to 5 do begin
With XMLNodo.AddChild('record') do begin
AddChild('compania').NodeValue := '0120';
AddChild('empresa').NodeValue := '1';
AddChild('tienda').NodeValue := '26';
end;
end;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';
XMLDocument1.StandAlone := 'yes';
XMLDocument1.NodeIndentStr := #8;
XMLDocument1.Options := [doNodeAutoCreate,doNodeAutoIndent,doAttrNull,doAutoPrefix,doNamespaceDecl];
XMLDocument1.SaveToFile('c:\ejemplo.xml');
../..
Un saludo

ISKANDAR 17-01-2005 22:28:00

Una pregunta... que version de Delphi estás usando?

muli 17-01-2005 23:14:13

D-6 Enterprise

ISKANDAR 17-01-2005 23:29:08

Bueno, yo conozco algunas formas, espero que te sirvan.
La primera, es utilizando ClientDataSet.XMLData. Es una propiedad r-w que te sirve para obtener en forma de un string xml los datos contenidos en el componente, y, si tenés un string xml "correcto" (o generado por otro ClientData
Set), podes transformarlo en un dataset, asignándolo a esta propiedad. Con el string y el componente XMLDocument, obtenés finalmente tu archivo xml.
La segunda es utilizando un componente llamado XMLDataset, que trabaja complementándose con el RXMemoryData (Componentes RXLib). En el XMLDataset, le indicás cual es el Dataset asociado, y cuando se produce un cambio, el sólo actualiza el string correspondiente al dataset. Incluso sirve apra generar paquetes de actualización de datos. En teoría funciona con otros datasets, pero yo no pude hacerlos funcionar. Si querés que te pase el fuente del XMLDataset, mandame un mail y listo. Ojo! no hice muchas implementaciones de estos tipos, sólo son ayudas para que investigues y veas si realemente es lo que necesitás. Saludos.

oli oli 25-01-2005 16:38:48

Buenas, yo tengo el mismo problema que Muli, pero debo usar un XSD. Me explico:

Hasta ahora Hacienda facilitaba una aplicación que le pasabas un fichero plano con los datos de los empleados y te devolvía otro con el IRPF a aplicar a cada uno. Ahora en lugar del fichero plano hay que usar XML. Que debe usar las reglas de validación y definicion que facilitan ellos (esta en su página) un fichero XSD.

Yo hasta ahora había descubierto lo que explica ISKANDAR.

¿Alguien puede echarme un cable? Lo necesito urgente.

Gracias.


La franja horaria es GMT +2. Ahora son las 04:56:01.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi