Pregunta

I una clase que contiene múltiples propiedades de tipo cadena. Uno de los valores contiene un carácter de valor hexadecimal 96. Si serializo la clase a xml, el serializador xml no codifica ese carácter, y si veo el xml en varias herramientas como IE o SQLServer con OpenXML, se queja de que el carácter no es válido en un documento xml. ¿No debería el serializador xml estar codificando este carácter?

¿Fue útil?

Solución 2

Pude evitar el error cambiando la codificación a iso-8859-1. En mi caso, esa página de códigos incluía todos los caracteres que consumían mis datos. Creo que, en teoría, es posible que los datos contengan otros caracteres, pero se trata de una solución adecuada.

Otros consejos

Esto puede ayudar (advertencia: se encuentra en el motor de búsqueda, no probado): .NET Web Services Fail en los caracteres de Control Unicode

Básicamente dice que el XmlSerializer falla al deserializar los caracteres de control de Unicode.

En los comentarios, uno de los carteles enlaza a El valor hexadecimal 0x no es un carácter válido . 0x96 no aparece en la lista, así que no estoy seguro de que este sea el mismo problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top