Aquí una función php que utilizo al generar archivos XML, para “limpiar” cadenas de texto con caracteres no permitidos en XML como “<", ">“, “&”, “‘”. Usando arrays para guardar las cadenas a reemplazar con str_replace():

Un ejemplo de uso al generar el xml: