Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este artículo le ayuda a resolver errores al analizar el lenguaje de marcado extensible (XML) que contiene caracteres especiales mediante el analizador XML de Microsoft (MSXML).
Versión original del producto: .NET Framework
Número de KB original: 238833
Síntoma
Al analizar XML que contiene caracteres especiales mediante el analizador XML de Microsoft (MSXML), el analizador puede notificar el siguiente mensaje de error en la línea y posición del primer carácter especial:
Se encontró un carácter no válido en el contenido de texto.
Causa
El documento XML no está marcado con el esquema de codificación de caracteres adecuado.
Resolución
- Especifique el esquema de codificación adecuado en la instrucción de procesamiento XML.
- Vuelva a codificar los datos XML como UTF-8 adecuados.
Estado
Este comportamiento es por diseño.
Información adicional
El carácter especial hace referencia a cualquier carácter fuera del rango estándar del Código Estándar Americano para el Intercambio de Información (ASCII) de 0x00 - 0x7F, como caracteres latinos con acentos, diéresis u otros diacríticos. El esquema de codificación predeterminado para documentos XML es UTF-8, que codifica caracteres ASCII con un valor de 0x80 o superior de forma diferente a otros esquemas de codificación estándar.
A menudo, verá este problema si está trabajando con datos que usan el esquema de codificación iso-8859-1 simple. En este caso, la solución más rápida suele ser la primera enumerada antes en la sección Resolución . Por ejemplo, use la siguiente declaración XML:
<?xml version="1.0" encoding="iso-8859-1" ?>
<rootelement>
...XML data...
</rootelement>
En su lugar, puede codificar cada uno de esos caracteres mediante la referencia de entidad numérica. Por ejemplo, puede tomar el carácter especial á, usar <test> á</test> (versión decimal) o <test>á</test> (versión hexadecimal).