elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  como pasar un archivo TXT a XML?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: como pasar un archivo TXT a XML?  (Leído 22,548 veces)
agmen

Desconectado Desconectado

Mensajes: 17


Ver Perfil
como pasar un archivo TXT a XML?
« en: 4 Octubre 2010, 20:24 pm »

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.

Código:
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


Código:
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 Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: como pasar un archivo TXT a XML?
« Respuesta #1 en: 4 Octubre 2010, 20:45 pm »

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 Desconectado

Mensajes: 17


Ver Perfil
Re: como pasar un archivo TXT a XML?
« Respuesta #2 en: 4 Octubre 2010, 20:48 pm »

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 Desconectado

Mensajes: 1.169


4 Esquinas


Ver Perfil WWW
Re: como pasar un archivo TXT a XML?
« Respuesta #3 en: 4 Octubre 2010, 20:50 pm »

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 Desconectado

Mensajes: 272


El testamento Maya...


Ver Perfil
Re: como pasar un archivo TXT a XML?
« Respuesta #4 en: 4 Octubre 2010, 20:53 pm »

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  :rolleyes:

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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: como pasar un archivo TXT a XML?
« Respuesta #5 en: 4 Octubre 2010, 20:54 pm »

79137913 un XML es un archivo de texto con informacion en forma de arbol (al mas estilo HTML para los amigos :xD)

agmen tu lo que tienes que hacer es separar cada linea y cada campo, y con eso escribir algo como esto

Código:
<?xml>
<Datos>
  <cuenta>
      <fecha>4/10/2010</fecha>
      <nombre>UDDES</nombre>
  </cuenta>
  <cuenta>
      <fecha>5/10/2010</fecha>
      <nombre>ADDES</nombre>
  </cuenta>
</Datos>

:P 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 Desconectado

Mensajes: 17


Ver Perfil
Re: como pasar un archivo TXT a XML?
« Respuesta #6 en: 4 Octubre 2010, 21:04 pm »

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 Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: como pasar un archivo TXT a XML?
« Respuesta #7 en: 4 Octubre 2010, 21:09 pm »

El espaciado no importa, el motor xml lee por etiquetas, no importa que no hayan espacios:
Código:
<?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:
Código:
<?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 Desconectado

Mensajes: 17


Ver Perfil
Re: como pasar un archivo TXT a XML?
« Respuesta #8 en: 4 Octubre 2010, 21:17 pm »

Gracias, veré que resulta de todo esto.
mas tarde te cuento como me fue

GRACIAS POR TODO,  TE PASASTE  ;-)

En línea

agmen

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: como pasar un archivo TXT a XML?
« Respuesta #9 en: 4 Octubre 2010, 21:48 pm »

te cuento,

hice lo siguiente
Código:
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 =
Código:
<?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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines