SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => C# => Mensaje iniciado por: AlfonzoCCS en Martes 5 de Agosto de 2008, 16:27

Título: Convertir el contenido de un archivo DBF a un Documento XML
Publicado por: AlfonzoCCS en Martes 5 de Agosto de 2008, 16:27
Hola a todos, necesito hacer una aplicacion que me permita conectarme a un archivo .DBF y convertir lo que esta en ese archivo en un documento XML y viceversa, quien podria darme una mano con este problema porque ademas, para colmo, soy nuevo en C#.

Gracias de antemano a quien pueda contestarme la inquietud...
Título: Re: Convertir el contenido de un archivo DBF a un Documento XML
Publicado por: ProfesorX en Martes 5 de Agosto de 2008, 22:54
Es sencillo, esto es lo que tienen que hacer.

1. Aprende sobre ADO.NET, puedes leer en la pagina del guille (http://www.elguille.info (http://www.elguille.info" onclick="window.open(this.href);return false;)) para empezar.

2. Aprende sobre System.XML, la siguiente pagina te puede ayudar: http://www.devjoker.com/asp/ver_conteni ... ntenido=29 (http://www.devjoker.com/asp/ver_contenidos.aspx?co_contenido=29" onclick="window.open(this.href);return false;)

3. Ya que sepas lo anterior, solo debes hacer conexiones a la base de datos mediante ado.net, a continuacion una pagina en donde vienen las cadenas de conexion para archivos de dbase utilizando OLE DB: http://www.connectionstrings.com/?carrier=dbffoxpro (http://www.connectionstrings.com/?carrier=dbffoxpro" onclick="window.open(this.href);return false;)

Si necesitas mas informacion, busca en google.
Título: Re: Convertir el contenido de un archivo DBF a un Documento XML
Publicado por: AlfonzoCCS en Viernes 29 de Agosto de 2008, 01:19
Hola Profe X gracias por la informacion me sirvio bastante, te tengo una nueva pregunta ojala puedas ayudarme.
Mira este XML

<?xml version="1.0" standalone="yes" ?>
- <MasterData>
- <producto>
  <codigo>mayo008</codigo>
  <descripcion>mayonesa pequena</descripcion>
  <nombrecorto>mayonesa1</nombrecorto>
  <unidades>unidad</unidades>
  <costo>3.45</costo>
  <precio>5.25</precio>
  <existencias>100</existencias>
  </producto>
  </MasterData>

Es normalito, con un simple DataTable lo puedo recorrer y armar la parte final de un insert (despues del VALUE). El problema es que esos valores van a una tabla en una BD. El detalle es que tengo que conocer el tipo de dato de cada uno de los contenidos de los tag para poder insertar en la tabla.
Para solucionar ese problema coloque a cada tag un atributo... algo asi...

<?xml version="1.0" standalone="yes" ?>
- <MasterData>
- <producto>
  <codigo datatype="string">mayo008</codigo>
  <descripcion datatype="string">mayonesa pequena</descripcion>
  <nombrecorto datatype="string">mayonesa1</nombrecorto>
  <unidades datatype="string">unidad</unidades>
  <costo datatype="double">3.45</costo>
  <precio datatype="double">5.25</precio>
  <existencias datatype="integer">100</existencias>
  </producto>
  </MasterData>

Ahora bien, cuando trato de volver a recorrerlo la aplicacion se vuelve loca porque al cambiarle la estructura al xml cambia todo... Tengo 2 dias razonandolo... sera que adicionalmente al DataSet necesito recorrerlo con clases puramente XML?.
Dame una mano... si otra persona lee este mensaje por favor agradeceria la ayuda... :unsure:
Título: Re: Convertir el contenido de un archivo DBF a un Documento XML
Publicado por: ProfesorX en Viernes 29 de Agosto de 2008, 03:30
Como dices, es normal que la aplicacion se vuelva "loca" cuando cambias el XML, es que en realidad me parece que no tendrias que cambiarlo. No estoy muy seguro de lo que estas haciendo y lo que quieras hacer, pero por lo que me comentas, supongo que solo quieres insertar el dato del xml en la base de datos. En ese caso, si conoces cual es la estructura de la base de datos, y el orden de los campos no va a cambiar, podrias hacer una conversion de cada campo antes de insertar con la clase System.Convert().