Tengo un XmlReader simple:Cómo cambiar la codificación de caracteres de XmlReader
XmlReader r = XmlReader.Create(fileName);
while (r.Read())
{
Console.WriteLine(r.Value);
}
El problema es que el archivo XML tiene ISO-8859-9
personajes en él, lo que hace un tiro XmlReader "Invalid character in the given encoding.
" excepción. Puedo resolver este problema agregando la línea <?xml version="1.0" encoding="ISO-8859-9" ?>
al principio, pero me gustaría resolver esto de otra manera en caso de que no pueda modificar el archivo fuente. ¿Cómo puedo cambiar la codificación de XmlReader?
Sí, no creo que solo cambiar la codificación del StreamReader funcionará ... – Noldorin
Lo intenté, esto funcionó. ¡Gracias! – dstr
Tenga cuidado, el lector de secuencias no se cierra después del final de la instrucción 'using' cuando se usa una sintaxis como esta. La forma segura sería: 'using (StreamReader sr = new StreamReader (fileName, Encoding.GetEncoding (" ISO-8859-9 "))) usando (XmlReader r = XmlReader.Create (sr)) {...}' –