Solución:
Si usa una clase o biblioteca apropiada, ellos harán el escape por usted. Muchos problemas de XML se deben a la concatenación de cadenas.
Caracteres de escape XML
Solo hay cinco:
" "
' '
< <
> >
& &
Los caracteres de escape dependen de dónde se utilice el carácter especial.
Los ejemplos se pueden validar en el Servicio de validación de marcado del W3C.
Texto
La forma segura es escapar de los cinco caracteres del texto. Sin embargo, los tres personajes "
, '
y >
no es necesario que se escape en el texto:
<?xml version="1.0"?>
<valid>"'></valid>
Atributos
La forma segura es escapar de los cinco caracteres en atributos. sin embargo, el >
el carácter no necesita escaparse en los atributos:
<?xml version="1.0"?>
<valid attribute=">"/>
los '
El carácter no necesita ser escapado en atributos si las comillas son "
:
<?xml version="1.0"?>
<valid attribute="'"/>
Asimismo, el "
no es necesario escapar en los atributos si las comillas son '
:
<?xml version="1.0"?>
<valid attribute="""/>
Comentarios
Los cinco personajes especiales no debe se escapa en los comentarios:
<?xml version="1.0"?>
<valid>
<!-- "'<>& -->
</valid>
CDATA
Los cinco personajes especiales no debe ser escapado en las secciones CDATA:
<?xml version="1.0"?>
<valid>
<![CDATA["'<>&]]>
</valid>
Instrucciones de procesamiento
Los cinco personajes especiales no debe ser escapado en las instrucciones de procesamiento XML:
<?xml version="1.0"?>
<?process <"'&> ?>
<valid/>
XML frente a HTML
HTML tiene su propio conjunto de códigos de escape que cubren muchos más caracteres.
Quizás esto ayude:
Lista de referencias a entidades de caracteres XML y HTML:
En documentos SGML, HTML y XML, las construcciones lógicas conocidas como datos de caracteres y valores de atributos consisten en secuencias de caracteres, en las que cada carácter puede manifestarse directamente (representándose a sí mismo), o puede ser representado por una serie de caracteres denominada referencia de carácter, de los cuales hay dos tipos: una referencia de carácter numérico y una referencia de entidad de carácter. Este artículo enumera las referencias a entidades de caracteres que son válidas en documentos HTML y XML.
Ese artículo enumera las siguientes cinco entidades XML predefinidas:
quot "
amp &
apos '
lt <
gt >
De acuerdo con las especificaciones del World Wide Web Consortium (w3C), hay 5 caracteres que no deben aparecer en su forma literal en un documento XML, excepto cuando se usan como delimitadores de marcado o dentro de un comentario, una instrucción de procesamiento o una sección CDATA. . En todos los demás casos, estos caracteres deben reemplazarse utilizando la entidad correspondiente o la referencia numérica de acuerdo con la siguiente tabla:
Personaje originalReemplazo de entidad XMLReemplazo numérico XML
< < <
> > >
" " "
Y Y Y
' ' '
Tenga en cuenta que las entidades mencionadas anteriormente se pueden utilizar también en HTML, con la excepción de ', que se introdujo con XHTML 1.0 y no se declara en HTML 4. Por esta razón, y para garantizar la retrocompatibilidad, la especificación XHTML recomienda el uso de 'en su lugar.