Preguntado hace 1 año
Fernando Calle
Buenas, tengo que migrar una serie de tablas de mi base de datos a xml cada cierto tiempo. La idea es crear un job que cada x tiempo pase el contenido de unas tablas a formato xml y lo guarde en una carpeta del disco (del que otra aplicación lo recogerá por ftp).
Los nombres de los nodos pueden coincidir con el nombre de la tabla y el nombre de los campos. Es decir:
Clientes idCliente nombre contacto direccion
Podría ser Clientes.xml
<datos> <clientes> <idCliente>1</idCliente> <nombre>Pepe SL</nombre> <contacto>Pepe</contacto> <direccion>Calle Loquesea 15</direccion> </clientes> <clientes> <idCliente>2</idCliente> <nombre>Juan SL</nombre> <contacto>Juan</contacto> <direccion>Calle Loquesea 14</direccion> </clientes> </datos>
¿Hay algo más o menos automático que pase una tabla a xml?
Hace 1 año
Buck
Si estas usando .NET es muy sencillo:
1-Lees la informacion de la base de datos a un dataset (yo te recomendaria tiparlo pero si no esta tipado tb te funcionara) 2-Lo serializas en XML a un fihcero.
Mira este codigo de ejemplo, en lugar de leerlo de la base de datos estoy rellenando el dataset en tiempo de ejecucion
Clientes clientesDataSet = new Clientes(); for (int i = 0; i < 10; i++) { Clientes.ClientesTableRow row = clientesDataSet.ClientesTable.NewClientesTableRow(); row.IdCliente = i.ToString() ; row.Nombre = "Cliente " + i; row.Direccion = "Direccion " + i; clientesDataSet.ClientesTable.AddClientesTableRow(row); } clientesDataSet.ClientesTable.WriteXml("Clientes.xml");
El resultado es un xml que tiene esta pinta
<?xml version="1.0" standalone="yes"?> <Clientes xmlns="http://tempuri.org/Clientes.xsd"> <ClientesTable> <IdCliente>0</IdCliente> <Nombre>Cliente 0</Nombre> <Direccion>Direccion 0</Direccion> </ClientesTable> <ClientesTable> <IdCliente>1</IdCliente> <Nombre>Cliente 1</Nombre> <Direccion>Direccion 1</Direccion> </ClientesTable> <ClientesTable> <IdCliente>2</IdCliente> <Nombre>Cliente 2</Nombre> <Direccion>Direccion 2</Direccion> </ClientesTable> <ClientesTable> <IdCliente>3</IdCliente> <Nombre>Cliente 3</Nombre> <Direccion>Direccion 3</Direccion> </ClientesTable> <ClientesTable> <IdCliente>4</IdCliente> <Nombre>Cliente 4</Nombre> <Direccion>Direccion 4</Direccion> </ClientesTable> <ClientesTable> <IdCliente>5</IdCliente> <Nombre>Cliente 5</Nombre> <Direccion>Direccion 5</Direccion> </ClientesTable> <ClientesTable> <IdCliente>6</IdCliente> <Nombre>Cliente 6</Nombre> <Direccion>Direccion 6</Direccion> </ClientesTable> <ClientesTable> <IdCliente>7</IdCliente> <Nombre>Cliente 7</Nombre> <Direccion>Direccion 7</Direccion> </ClientesTable> <ClientesTable> <IdCliente>8</IdCliente> <Nombre>Cliente 8</Nombre> <Direccion>Direccion 8</Direccion> </ClientesTable> <ClientesTable> <IdCliente>9</IdCliente> <Nombre>Cliente 9</Nombre> <Direccion>Direccion 9</Direccion> </ClientesTable> </Clientes>
Si sales ahora, perderás los cambios. ¿Estás seguro de querer salir?
Para participar en Babelias, debes estar convenientemente validado. Si ya eres usuario inicia sesión, si no lo eres, te puedes registrar.
Trata de ser descriptivo, usa al menos 25 caracteres
LLeva tu prestigio a tu página o blog, con el widget de Babelias
Usuario de ejemplo