XmlElement.CloneNode メソッド
ノードの複製を作成します。
Overrides Public Function CloneNode( _
ByVal deep As Boolean _) As XmlNode
[C#]
public override XmlNode CloneNode(booldeep);
[C++]
public: XmlNode* CloneNode(booldeep);
[JScript]
public override function CloneNode(
deep : Boolean) : XmlNode;
パラメータ
- deep
指定したノードの下にあるサブツリーのクローンを再帰的に作成する場合は true 。指定したノードだけ (および、そのノードが XmlElement の場合はその属性) のクローンを作成する場合は false 。
戻り値
クローンとして作成されたノード。
解説
このメソッドは、ノードのコピー コンストラクタとして機能します。複製されたノードには親がありません。 ParentNode は null 参照 (Visual Basic では Nothing) を返します。
使用例
[Visual Basic, C#, C++] 新しい要素を作成し、そのクローンを作成して、両方の要素を XML ドキュメントに追加する例を次に示します。
Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As New XmlDocument()
doc.Load("2books.xml")
' Create a new element.
Dim elem As XmlElement = doc.CreateElement("misc")
elem.InnerText = "hardcover"
elem.SetAttribute("publisher", "WorldWide Publishing")
' Clone the element so we can add one to each of the book nodes.
Dim elem2 As XmlNode = elem.CloneNode(True)
' Add the new elements.
doc.DocumentElement.FirstChild.AppendChild(elem)
doc.DocumentElement.LastChild.AppendChild(elem2)
Console.WriteLine("Display the modified XML...")
doc.Save(Console.Out)
End Sub 'Main
End Class 'Sample
[C#]
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("2books.xml");
// Create a new element.
XmlElement elem = doc.CreateElement("misc");
elem.InnerText = "hardcover";
elem.SetAttribute("publisher", "WorldWide Publishing");
// Clone the element so we can add one to each of the book nodes.
XmlNode elem2 = elem.CloneNode(true);
// Add the new elements.
doc.DocumentElement.FirstChild.AppendChild(elem);
doc.DocumentElement.LastChild.AppendChild(elem2);
Console.WriteLine("Display the modified XML...");
doc.Save(Console.Out);
}
}
[C++]
#using <mscorlib.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlDocument* doc = new XmlDocument();
doc->Load(S"2books.xml");
// Create a new element.
XmlElement* elem = doc->CreateElement(S"misc");
elem->InnerText = S"hardcover";
elem->SetAttribute(S"publisher", S"WorldWide Publishing");
// Clone the element so we can add one to each of the book nodes.
XmlNode* elem2 = elem->CloneNode(true);
// Add the new elements.
doc->DocumentElement->FirstChild->AppendChild(elem);
doc->DocumentElement->LastChild->AppendChild(elem2);
Console::WriteLine(S"Display the modified XML...");
doc->Save(Console::Out);
}
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET