Error creando un XML en Php: xmlParseEntityRef: no name

Sucede que al crear un XML los datos que extraía de la BD tenían algunos caracteres incorrectos para el XML.

En este caso un “ampersand”, “y”, “gato(&) como algunos conocemos a ese signo,

Los caracteres como “<” y “&” son ilegales en elementos XML.

La solución fue agregar el elemento CDATA entre el texto que quería y asi cualquier elemento dentro del CDATA es ignorado por el parseador.

Ejemplo:

echo '<city><![CDATA['.$oferta['nombre'].']]></city>;

En este caso $oferta['nombre'] contiene la cadena a ser ignorada, tal cadena en mi caso tenia el carácter “&” ya mencionado anteriormente.

Una sección CDATA no puede contener la cadena "]]>". Anidar las secciones CDATA no están permitidas.
La "]]>" que marca el final de la sección CDATA no pueden contener espacios ni saltos de línea.

 

Visto en http://www.w3schools.com/xml/xml_cdata.asp

 

Añadir nuevo comentario