СтрЗаменить - очень средство платформы, XSLT преобразование - вполне себе средство, ЧтениеXML с анализом текущего узла - ниче так себе средство, построение и выгрузка заново DOM документа - в приниципе нормально.
Вызов внешней программы, использование отдельного веб-сервиса и т. п.
(1) Для относительно небольших файлов пользую СтрЗаменить() - самое то. Дешево, сердито, беспощадно. Только заменяю не в файле, а в тексте, который потом передается дальше на обработку.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший