Screamer, парсер тегов? имхо фильтр зря сразу применяешь, его надо в выводе применять, сначало подготовить а потом уже готовое фильтровать
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n"
echo '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
экранировать как то не по мне
по поводу пробелов и табов, trim()