Wie bekomme ich eine unabhängige Kopie eines XDocuments?

8

Ich versuche, ein neues XDocument wie folgt zu erstellen:

%Vor%

Ich habe jetzt xml , was ich hätte wäre eine eigenständige Instanz eines Dokuments, weil ich die Zeichenfolge aus dem Originaldokument extrahiert und daraus eine neue erstellt habe.

Aber wenn ich xml modifiziere und dann _documentDictionary[documentKey] inspiziere, kann ich sehen, dass das Originaldokument ebenfalls modifiziert wurde.

Wie kann ich ein neues unabhängiges Dokument aus meiner vorhandenen Sammlung erhalten?

Hinweis:

Ich habe diese versucht, aber es funktioniert nicht:

%Vor%

und

%Vor%     
DaveDev 03.04.2013, 08:57
quelle

2 Antworten

27

Es gibt einen Kopierkonstruktor, der für die Klasse XDocument definiert wurde:

%Vor%
  

Sie verwenden diesen Konstruktor, um eine tiefe Kopie eines XDocuments zu erstellen.

     

Dieser Konstruktor durchläuft alle Knoten und Attribute im Dokument   im anderen Parameter angegeben und erstellt Kopien aller Knoten als   Es stellt das neu initialisierte XDocument zusammen.

Schnelltest

%Vor%

name ist "Test2" und name2 ist "Test" , was zeigt, dass Änderungen am doc keinen Einfluss auf doc2 haben.

    
MarcinJuraszek 03.04.2013, 08:58
quelle
4

Versuchen Sie, den Konstruktor zu kopieren, wie;

%Vor%

Von MSDN :

  

Sie verwenden diesen Konstruktor, um eine tiefe Kopie eines XDocuments zu erstellen.

     

Dieser Konstruktor durchläuft alle Knoten und Attribute im Dokument   im anderen Parameter angegeben und erstellt Kopien aller Knoten als   Es stellt das neu initialisierte XDocument zusammen.

    
Soner Gönül 03.04.2013 08:59
quelle

Tags und Links