debes de tener caracteres especiales que debes filtrar primero, usa mb_convert_encoding o iconv para reolverlo
, yo lo tengo así:
Código PHP:
function tagxml($tagname,$value){
if ($value=='') {
echo '<'.$tagname.'/>';
}else{
echo '<'.$tagname.'>'.mb_convert_encoding(($value),"UTF-8").'</'.$tagname.'>';//mb_convert_encoding
}
}