Foros del Web » Programación para mayores de 30 ;) » Programación General »

Exportar a XML

Estas en el tema de Exportar a XML en el foro de Programación General en Foros del Web. Hola a todos, necesito exportar una información a formato xml. Para facilitar ... esta información la puedo obtener en diferentes origenes de datos ... excel/access ...
  #1 (permalink)  
Antiguo 13/12/2004, 01:40
 
Fecha de Ingreso: enero-2003
Mensajes: 17
Antigüedad: 21 años, 9 meses
Puntos: 0
Exportar a XML

Hola a todos,
necesito exportar una información a formato xml.

Para facilitar ... esta información la puedo obtener en diferentes origenes de datos ... excel/access 2000, sql server, html, texto

He intentado exportar directamente desde las diferentes herramientas de cada uno, pero no lo he conseguido

Una ayudita, gracias
Saludos

Última edición por xavis75; 13/12/2004 a las 01:45
  #2 (permalink)  
Antiguo 13/12/2004, 02:20
 
Fecha de Ingreso: enero-2003
Mensajes: 17
Antigüedad: 21 años, 9 meses
Puntos: 0
Información

Como bien dice el refran, si quieres que algo salga bien, hazlo tu mismo ... bueno ahora que pienso NIKE tambien lo dice (just do it) pero eso es otra historia.

Bueno al tema, os adjunto el código por si otro principiante como yo en esta materia le surge el mismo problema.

El ejemplo es sobre una bbdd SQL Server, así que si el origen de datos es otro diferente, sólo tenéis que cambiar la cadena de conexión ... y puede que alguna cosita más, pero seguro que poco.

Aquí va

Dim cnn As new ADODB.Connection
Dim cmd As new ADODB.Command
Dim rs As new ADODB.Recordset

cnn.Provider = "sqloledb"
cnn.Open "Data Source=MiServidor; Initial Catalog=MiBBDD; " & _
"user id=MiUsuario;password=MiPassword"

If cnn.State = adStateOpen Then
Set rs = cnn.Execute("select * from envios")
If rs.State = adStateOpen Then
Dim lfile As Long, lField As Long
lfile = FreeFile
Open App.Path & "\envios.xml" For Output As #lfile
Print #lfile, "<root>"
While Not rs.EOF
Print #lfile, "<envio>"
For lField = 0 To rs.Fields.Count - 1
Print #lfile, "<" & rs.Fields(lField).Name & ">" & _
rs.Fields(lField).Value & _
"</" & rs.Fields(lField).Name & ">"
Next lField
Print #lfile, "</envio>"
rs.MoveNext
Wend
Print #lfile, "</root>"
rs.Close
Close #lfile
End If
Set rs = Nothing
cnn.Close
End If
Set cnn = Nothing



Un saludo y esto es todo amigos

Última edición por xavis75; 13/12/2004 a las 02:21
  #3 (permalink)  
Antiguo 14/12/2004, 15:42
 
Fecha de Ingreso: enero-2003
Mensajes: 243
Antigüedad: 21 años, 9 meses
Puntos: 0
justo estaba buscando un ejemplo...

gracias master!
__________________
I'm Windows.
  #4 (permalink)  
Antiguo 15/12/2004, 13:15
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 1 mes
Puntos: 5
Sql Server creo que soporta la sentencia "for XML"

Busca por google la sentencia exacta.. es algo asi como "SELECT * FROM tu_tabla FOR XML"

Ciao
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #5 (permalink)  
Antiguo 30/12/2004, 01:35
 
Fecha de Ingreso: enero-2003
Mensajes: 17
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola nens
Pos resulta que era un poco más fácil, a partir del recordset obtenido sólo hay que grabarlo como documento XML, el resultado es el documento XML con la información del schema y de los datos

mvarRecordset.Save "C:\Path\MiDoc.xml", adPersistXML
  #6 (permalink)  
Antiguo 10/03/2005, 17:56
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 9 meses
Puntos: 6
¿XML es la extensión de los archivos de Microsoft Excel (no, es xls)? ¿Alguien me puede orientar sobre cómo captar datos de una hoja de excel y pasarlos a sql server (pasando de las celdas que no contengan datos, sino títulos de columnas, etc.), y de lo contrario (crear hojas de excel con datos de sql server)?

PD: ¿alguien me puede decir una forma rápida de ver la extensión, en letras, de un archivo, en Windows XP? (que no te diga "hoja de cálculo de Excel", sino "xls").

Última edición por un_tio; 10/03/2005 a las 17:58
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:40.