Создать новый XDocument из существующего XDocument

У меня есть функция, которая принимает в качестве аргумента объект XDocument.

Мне нужно перебрать несколько других объектов в другой коллекции и для каждого из этих объектов выполнить некоторые действия с XDocument. Но для каждой итерации lopp требуется нетронутая копия исходного документа XDocument, передаваемого функции.

Однако, если я просто попробую выполнить свои операции с переменной, переданной в функцию, он будет вести себя как указатель - поэтому каждая итерация цикла получает XDocument в том состоянии, в каком он был оставлен в конце последней итерации, т.е. вообще бесполезно.

Очевидно, мне нужно сделать копию Xdocument, но я не вижу простого способа сделать это. Попытка:

 XDocument currentServerXml = XDocumentFromFunction.Document():

А затем использование currentServerXml вместо XDocumentFromFunction дает мне ту же копию с тем же указателем и тем же поведением.

Как я могу создать новую копию данных для каждой итерации цикла?

9
задан yoozer8 20 December 2012 в 19:14
поделиться