Autor
|
Tema: como pasar un archivo TXT a XML? (Leído 23,170 veces)
|
agmen
Desconectado
Mensajes: 17
|
Hola a todos los que pasen por aki, tengo un problema de conocimientos a la hora de convertir un archivo txt a xml y espero encontrar la respuesta aki. genere un archivo de ejemplo el cual se llama REGISTRO.TXT y contiene lo siguiente: 20101004UDDES 20101004UDDES en donde los 8 primeros caracteres corresponden a la fecha y los restantes a una empresa, todos los registros en este archivo son de largo fijo y los puedo obtener facilmente con un MID y guardarlos en una variable. pero nose como insertar esas variables en un archivo xml dejo el codigo de lo que llevo. Private Sub Command1_Click() cd.ShowOpen direccion = cd.FileName End Sub
Private Sub Command2_Click() Dim discriminante As String Dim archivo As String Dim fecha As String Dim empresa As String Dim registro As String Dim sw As Integer
sw = 0
Open direccion For Input As #1 While Not EOF(1) Line Input #1, Linea discriminante = Mid$(Linea, 1, 6) If discriminante <> "HEADER" And discriminante <> "FOOTER" Then fecha = Mid$(Linea, 1, 8) empresa = Mid$(Linea, 21, 5) sw = 1 End If If sw = 1 Then registro = fecha + empresa EscriveLog registro, "REGISTRO" sw = 0 End If Wend Close #1 archivo = App.Path & "\" & "REGISTRO.txt"
' aki el codigo para convertir el archivo "REGISTRO.TXT" a registro.xml Response = MsgBox("PROCESO TERMINADO", vbInformation, "empresa x")
End Sub
Public Function EscriveLog(ByRef Texto As String, ByRef tipo As String) ', ByRef xTipo As Byte) Dim strFile As String Dim fn As Long Dim strLog As String strFile = App.Path & "\" & tipo & ".txt" fn = FreeFile strLog = Texto Open strFile For Append As fn Print #fn, strLog Close fn End Function
espero me puedan ayudar a crear el XML ya que no tengo idea del formato ni nada por el estilo. de antemano. GRACIAS!
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!!
Para que querrias el XML. por que es un simple archivo de texto con extension .xml Osea lo lees y lo escribis igual solo que en la ruta va archivo.XML Queres presentar un informe, lo usas de debug, para que?
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
agmen
Desconectado
Mensajes: 17
|
Porque lo tengo que entregar en xml, no me sirve en txt, pq del otro lado tienen un programa q lee e importa solo archivos xml
Gracias por responder
|
|
|
En línea
|
|
|
|
79137913
Desconectado
Mensajes: 1.169
4 Esquinas
|
HOLA!!!
Preguntale que formato tiene que tener el texto interno del archivo
GRACIAS POR LEER!!!
|
|
|
En línea
|
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!" "La peor de las ignorancias es no saber corregirlas"
79137913 *Shadow Scouts Team*
|
|
|
WestOn
Desconectado
Mensajes: 272
El testamento Maya...
|
Buenas. Lee el contenido del .txt y escribelo usando write en un archivo con la extensión .xml. Si no sabes como guardar el valor de una variable en un archuvo desde vb usa el buscador que hay muy buenos ejemplos  Saludos! Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.
|
|
|
En línea
|
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?. 
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
79137913 un XML es un archivo de texto con informacion en forma de arbol (al mas estilo HTML para los amigos  ) agmen tu lo que tienes que hacer es separar cada linea y cada campo, y con eso escribir algo como esto <?xml> <Datos> <cuenta> <fecha>4/10/2010</fecha> <nombre>UDDES</nombre> </cuenta> <cuenta> <fecha>5/10/2010</fecha> <nombre>ADDES</nombre> </cuenta> </Datos>
 como veras es todo estatico y maquillaje  De todas formas pregunta por el "information schema" para hacerlo compatible con el programa
|
|
|
En línea
|
|
|
|
agmen
Desconectado
Mensajes: 17
|
yaa! preguntare que onda, pero mas tarde pq mi jefe se toma como 4 horas de colación, hare algo con lo que pusiste.. pero como se cuanto espacio tiene que haber entre el inico y <cuenta> o del inico a <fecha> o del inicio a <nombre>
???????
Gracias por responder
|
|
|
En línea
|
|
|
|
raul338
Desconectado
Mensajes: 2.633
La sonrisa es la mejor forma de afrontar las cosas
|
El espaciado no importa, el motor xml lee por etiquetas, no importa que no hayan espacios: <?xml> <Datos> <cuenta><fecha>4/10/2010</fecha><nombre>UDDES</nombre></cuenta> <cuenta><fecha>5/10/2010</fecha><nombre>ADDES</nombre></cuenta> </Datos>
o que hayan muchos: <?xml>
<Datos>
<cuenta>
<fecha> 4/10/2010 </fecha>
<nombre> UDDES </nombre>
</cuenta>
<cuenta>
<fecha> 5/10/2010 </fecha>
<nombre> ADDES </nombre>
</cuenta>
</Datos>
El espaciado es puramente para su mejor lectura ante los programadores, al programa le da igual (aunque se sugiere que no hayan taaantos espacios (ej: 4 lineas vacias entre cada objeto) asi no se procesa tanto) Las unicas condiciones son: - Tiene que haber un solo nodo raiz (cuentas)
- Repetar la jerarquia (no cierres un nodo sin cerrar los que estan adentro del mismo)
- No pueden haber nodos sin cerrar, ni cierres de nodos sin abrir
- La primera linea siempre es la definicion de que el documento es un xml

|
|
« Última modificación: 4 Octubre 2010, 21:11 pm por raul338 »
|
En línea
|
|
|
|
agmen
Desconectado
Mensajes: 17
|
Gracias, veré que resulta de todo esto. mas tarde te cuento como me fue GRACIAS POR TODO, TE PASASTE 
|
|
|
En línea
|
|
|
|
agmen
Desconectado
Mensajes: 17
|
te cuento, hice lo siguiente archivo = App.Path & "\" & "REGISTRO.txt" Open archivo For Input As #1 Escrivexml "<?xml>", "REGISTROXML" Escrivexml "<Datos>", "REGISTROXML" While Not EOF(1) Line Input #1, Linea fecha = Mid$(Linea, 1, 8) empresa = Mid$(Linea, 9, 5) registro = "<cuenta>" + "<fecha>" + fecha + "</fecha>" + "<empresa>" + empresa + "</empresa>" + "</cuenta>" Escrivexml registro, "REGISTROXML" Wend
Escrivexml "</Datos>", "REGISTROXML"
me genero el .xml pero no abre ni a palos tb probe insertando lo que escribiste tu cambiandole la extension, pensando que no estaba quedando = <?xml> <Datos> <cuenta><fecha>4/10/2010</fecha><nombre>UDDES</nombre></cuenta> <cuenta><fecha>5/10/2010</fecha><nombre>ADDES</nombre></cuenta> </Datos> pero pasa lo mismo :S se pega el explorer abre y abre ventanas espero me puedas ayudar. Gracias
|
|
|
En línea
|
|
|
|
|
|