Нужно ли рекурсивно использовать linq to xml и копировать каждый узел и элемент из одного xml в другой, или есть лучший способ напрямую скопировать и сохранить его в том же корневом каталоге, переименовав его? Может ли кто-нибудь привести пример
File.Copy("root.xml", "copy.xml");
Это копирует ваш XML-файл и переименовывает его.
В XML-файлах нет ничего особенного, поэтому просто скопируйте его. Вам не нужно ничего делать с XML. Просто используйте Копировать
System.IO.File.Copy(pathToFile, pathToCopy);