[解決済み] LINQ to XMLで要素のディープコピーを行うにはどうすればよいですか?
2023-06-29 08:56:18
質問
LINQ to XML XElementのディープコピーを作成したいです。 これを行いたい理由は、私が (同じドキュメント内で) 変更されたコピーを作成したいドキュメント内のいくつかのノードがあるためです。 これを行うためのメソッドが見当たりません。
私は要素を XML 文字列に変換し、それを再解析することができましたが、より良い方法があるかどうか疑問に思っています。
どのように解決するのですか?
再解析する必要はありません。XElementのコンストラクタの一つは、別のXElementを受け取り、その深いコピーを作成します。
XElement original = new XElement("original");
XElement deepCopy = new XElement(original);
ここにいくつかのユニットテストのデモがあります。
[TestMethod]
public void XElementShallowCopyShouldOnlyCopyReference()
{
XElement original = new XElement("original");
XElement shallowCopy = original;
shallowCopy.Name = "copy";
Assert.AreEqual("copy", original.Name);
}
[TestMethod]
public void ShouldGetXElementDeepCopyUsingConstructorArgument()
{
XElement original = new XElement("original");
XElement deepCopy = new XElement(original);
deepCopy.Name = "copy";
Assert.AreEqual("original", original.Name);
Assert.AreEqual("copy", deepCopy.Name);
}
関連
-
[解決済み] VB.NETでプログラムパスを取得する?
-
[解決済み] Powershell v3 Invoke-WebRequest HTTPSエラー
-
[解決済み] enumを列挙するには
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] DateTime型の誕生日から年齢を計算するにはどうしたらいいですか?
-
[解決済み] Microsoft Officeをインストールせずに、C#でExcel(.XLSおよび.XLSX)ファイルを作成するにはどうすればよいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] Entity FrameworkとLINQ to SQLの比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ファイル *.mdf をデータベースとして添付できません。
-
[解決済み] COMExceptionエラー80040154を修復する方法は?
-
[解決済み] 24:00:00 を超える値を持つ .Net Timespan を格納するための正しい SQL タイプは何ですか?
-
[解決済み] ネットワークの位置からアセンブリをロードすることはできません
-
[解決済み] ASP.NET control to render a <div>
-
[解決済み] Nuget接続の試行に失敗しました。"Unable to load service index for source"。
-
[解決済み] app.configが作成されるタイミングとapp.exe.configが作成されるタイミング、その違いとは?
-
[解決済み] WCFのデバッグ時にサーバーに自動的に踏み込むことができない
-
[解決済み] ディープクローンオブジェクト
-
[解決済み] Visual Studioのコンパイルエラー "mismatch between processor architecture "を修正するにはどうしたらいいですか?