Может я что то не так понял, но дело в кодировке файла....тогда попробуйте:
Да в кодировке. Но не не совсем в этом плане
Суть такая. Этот xml заполнялся через вебформу. Фишка в том, то в мета тегах была указана кодировка iso-88.... а в системе где эта форма заполнялась UTF8. И уже сам браузер преобразовывал в такой вид символы. В довесок ко всему пи фомиовании xml еще и ампесанд заменялся на & .
В принципе ваш метод можно попробовать вернув обратно амперсанд.