Foros del Web » Soporte técnico » Ofimática »

Problema con el formato de texto para un xml

Estas en el tema de Problema con el formato de texto para un xml en el foro de Ofimática en Foros del Web. Hola buenos dias, a partir de una tabla genero un xml con el siguiente código el problema es que el xml que se genera no ...
  #1 (permalink)  
Antiguo 19/10/2009, 03:11
 
Fecha de Ingreso: junio-2009
Mensajes: 12
Antigüedad: 15 años, 5 meses
Puntos: 0
Problema con el formato de texto para un xml

Hola buenos dias, a partir de una tabla genero un xml con el siguiente código el problema es que el xml que se genera no esta en formato UTF-8 sino en ANSI. Algun truco para convertirlo de tiron en UTF-8 o para escribirlo en UTF-8.

Muchas Gracias de antemano

Sub toXML()
Dim strNombreArchivo, strRuta, strArchivoTexto As String
Dim f As Integer
strNombreArchivo = "mixml.xml"
strRuta = "C:\"
strArchivoTexto = strRuta & strNombreArchivo

'abrimos el archivo para escribir
f = FreeFile
Open strArchivoTexto For Output As #f

'Encabezado del Archivo
Print #f, "<?xml version='1.0' encoding='UTF-8'?>"

'escribimos al archivo
Print #f, "<categoria>"
Nombre = ActiveSheet.Name
Set X = Worksheets(Nombre)
With X
Fila = Range("A65000").End(xlUp).Row
For I = 1 To Fila
If Trim(Range("A" & I).Value) = "tema" Then
temaid = Trim(Range("H" & I).Value)
End If
If Range("D" & I).Value <> "" And Range("F" & I).Value <> "" And Trim(Range("G" & I).Value) <> "***" Then
Print #f, "<usuario>"
Print #f, "<codigo>" & Cliente_cod & "</codigo>"
Print #f, "<documento>" & Trim(.Range("E" & I).Value) & "</documento>"
Print #f, "<fecha>" & Range("M" & I).Value & "</fecha>"
Print #f, "<vencimiento>" & Range("N" & I).Value & "</vencimiento>"
Print #f, "<nick>" & Range("O" & I).Value & "</nick>"
Print #f, "</usuario>"
End If
Next I
End With

'Footer del Archivo
Print #f, "</categoria>"

'cerramos el archivo de texto
Close f
End Sub
  #2 (permalink)  
Antiguo 20/10/2009, 16:14
Avatar de mrocf  
Fecha de Ingreso: marzo-2007
Ubicación: Bs.As.
Mensajes: 1.103
Antigüedad: 17 años, 8 meses
Puntos: 88
Problema con el formato de texto para un xml

El comando iconv de Linux te resuelve ese problema.

Claro que si no tienes Linux sino Windows, entonces debes bajar la versión Windows desde aquí: LibIconv.

Por ejemplo:

iconv documento.txt -f ASCII -t utf8 -o nuevodocumento.txt

documento.txt es el nombre del fichero que queremos convertir
-f ASCII es la codificación actual del fichero
-t utf8 es la codificación de destino; y
-o nuevodocumento.txt es el fichero dónde "iconv" escribirá el resultado.

En esta página: Codificaciones LibIconv encontrarás los nombres de distintas codificaciones.

Saludos, Cacho.
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 22:20.