ReadXML caracter invalido Ñ

07/10/2006 - 00:29 por Jaime Infante | Informe spam
Tengo un conjunto de datos, pero al leer un archivo XML me dice que contiene
caracteres invalidos, en este caso es la "Ñ" como puedo omitir este mensje
y que me deje poder leer esos caracteres.

Gracias

Preguntas similare

Leer las respuestas

#6 Jaime Infante
09/10/2006 - 17:39 | Informe spam
Gracias por tu ayuda Alberto
Revise el archivo XML y no tiene especificado el juego de caracteres
Probe con UTF-8 y no me funciono, pero con el windows-1252 ya no me dio
errores

Ahora la pregunta es como podria yo agregarle a estos archivos el juego de
caracteres





"Alberto Poblacion [MVP]"
escribió en el mensaje news:
"Jaime Infante" wrote in message
news:
Tengo un conjunto de datos, pero al leer un archivo XML me dice que
contiene
caracteres invalidos, en este caso es la "Ñ" como puedo omitir este
mensje
y que me deje poder leer esos caracteres.



Hay que mirar en dos sitios, dependiendo de cómo proceses el archivo:
Uno es en el propio archivo XML, en la cabecera hay que indicar el juego
de caracteres utilizado, para que se pueda interpretar la Ñ:
<?xml version="1.0" encoding="utf-8" ?>

En el ejemplo anterior, la codificación sería UTF-8, y por tanto las
eñes que haya dentro de ese archivo tienes que grabarlas con el código que
les corresponda en utf-8. Si quieres usar el juego de caracteres de
Windows, cambia la cabecera a esta:
<?xml version="1.0" encoding="windows-1252" ?>

Una vez hecho lo anterior, las funciones de manipulación de XML de .Net
deben entender las eñes. Por ejemplo, si usas un Load() de XmlDocument
para leer el archivo, con esto basta.

Sin embargo, si no estás usando funciones de XML, sino que estás
abriendo el archivo por tu cuenta para tratarlo como si fuera un texto
(por ejemplo, con un StreamReader), entonces tienes que indicarle el juego
de caracteres al abrir el archivo:

Dim sr as New
StreamReader("miarchivo.xml",System.Text.Encoding.GetEncoding(1252))
string contenido=sr.ReadToEnd();
sr.Close()

Obviamente, si en lugar del juego de Windows has usado otro
(típicamente UTF8 para los archivos XML), tendrás que ponerlo debidamente
en el GetEncoding.






Respuesta Responder a este mensaje
#7 Alberto Poblacion [MVP]
09/10/2006 - 21:39 | Informe spam
"Jaime Infante" wrote in message
news:Ow$
Revise el archivo XML y no tiene especificado el juego de caracteres
Probe con UTF-8 y no me funciono, pero con el windows-1252 ya no me dio
errores

Ahora la pregunta es como podria yo agregarle a estos archivos el juego de
caracteres



¿Te refieres a añadirles el "encoding" en la cabecera? Creo que con el
DOM se puede, pero yo no me molestaría. Es más sencillo abrirlos en modo
texto con un StreamReader, leerlos a un string, insertar la cabecera deseada
en el string, y volver a grabarlo con un StreamWriter.
Respuesta Responder a este mensaje
#8 Jaime Infante
09/10/2006 - 23:35 | Informe spam
Gracias


"Alberto Poblacion [MVP]"
escribió en el mensaje news:%
"Jaime Infante" wrote in message
news:Ow$
Revise el archivo XML y no tiene especificado el juego de caracteres
Probe con UTF-8 y no me funciono, pero con el windows-1252 ya no me dio
errores

Ahora la pregunta es como podria yo agregarle a estos archivos el juego
de caracteres



¿Te refieres a añadirles el "encoding" en la cabecera? Creo que con el
DOM se puede, pero yo no me molestaría. Es más sencillo abrirlos en modo
texto con un StreamReader, leerlos a un string, insertar la cabecera
deseada en el string, y volver a grabarlo con un StreamWriter.



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida