Создание XML с помощью любого вида манипуляций со строками открывает возможность ошибкам проникать в ваш код. Например, чрезвычайно простой пример, который вы разместили, не даст правильно сформированный XML, если $ value содержит амперсанд.
В XML не так много крайних случаев, но их достаточно, чтобы написать собственный код для их обработки - пустая трата времени. (И если вы не обработаете их, ваш код однажды неожиданно потерпит неудачу. Никто не хочет этого.) Любой хороший инструмент XML автоматически обработает эти случаи.