prueba parseando el xml antes de imprimirlo.
por ejemplo si usas xsl para imprimir los datos en pantallla, caracteres y palabras como espacios en blanco , & ,< , y > se escriben de otra manera en xsl.
por ejemplo el < es < y cosas asi.
lo que yo haria:
a la hora de cargar el documento xml con el php, le haria un replace sobre todos los nodos que pudieran contener caracteres extraños como &,#,?,<,> por sus caracteres validos xsl.

mi granito de arena