XNode.ReplaceWith XNode.ReplaceWith XNode.ReplaceWith XNode.ReplaceWith Method

定義

現在のノードを指定された内容に置き換えます。Replaces this node with the specified content.

オーバーロード

ReplaceWith(Object) ReplaceWith(Object) ReplaceWith(Object) ReplaceWith(Object)

現在のノードを指定された内容に置き換えます。Replaces this node with the specified content.

ReplaceWith(Object[]) ReplaceWith(Object[]) ReplaceWith(Object[]) ReplaceWith(Object[])

現在のノードを指定された内容に置き換えます。Replaces this node with the specified content.

次の例では、このメソッドを使用して、異なるコンテンツを持つノードの内容を置き換えます。The following example uses this method to replace the contents of a node with different content.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", "child1 content"),  
    new XElement("Child2", "child2 content"),  
    new XElement("Child3", "child3 content"),  
    new XElement("Child4", "child4 content"),  
    new XElement("Child5", "child5 content")  
);  
XElement child3 = xmlTree.Element("Child3");  
child3.ReplaceWith(  
    new XElement("NewChild", "new content")  
);  
Console.WriteLine(xmlTree);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>child1 content</Child1>  
            <Child2>child2 content</Child2>  
            <Child3>child3 content</Child3>  
            <Child4>child4 content</Child4>  
            <Child5>child5 content</Child5>  
        </Root>  
  
Dim child3 As XElement = xmlTree.<Child3>(0)  
child3.ReplaceWith(<NewChild>new content</NewChild>)  
Console.WriteLine(xmlTree)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Root>  
  <Child1>child1 content</Child1>  
  <Child2>child2 content</Child2>  
  <NewChild>new content</NewChild>  
  <Child4>child4 content</Child4>  
  <Child5>child5 content</Child5>  
</Root>  

注釈

このメソッドに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

このメソッドは、 Changed Changingイベントとイベントを発生させます。This method will raise the Changed and the Changing events.

XContainer 、その子ノードをオブジェクトのXNodeシングルリンクリストとして格納します。The XContainer stores its child nodes as a singly-linked list of XNode objects. これは、 ReplaceWithメソッドが親コンテナーの下にある直接の子ノードのリストを走査する必要があることを意味します。This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. したがって、この方法を使用すると、パフォーマンスに影響を与える可能性があります。Therefore, using this method might affect your performance.

ReplaceWith(Object) ReplaceWith(Object) ReplaceWith(Object) ReplaceWith(Object)

現在のノードを指定された内容に置き換えます。Replaces this node with the specified content.

public:
 void ReplaceWith(System::Object ^ content);
public void ReplaceWith (object content);
member this.ReplaceWith : obj -> unit
Public Sub ReplaceWith (content As Object)

パラメーター

content
Object Object Object Object

このノードを置き換える内容。Content that replaces this node.

次の例では、このメソッドを使用して、異なるコンテンツを持つノードの内容を置き換えます。The following example uses this method to replace the contents of a node with different content.

XElement xmlTree = new XElement("Root",  
    new XElement("Child1", "child1 content"),  
    new XElement("Child2", "child2 content"),  
    new XElement("Child3", "child3 content"),  
    new XElement("Child4", "child4 content"),  
    new XElement("Child5", "child5 content")  
);  
XElement child3 = xmlTree.Element("Child3");  
child3.ReplaceWith(  
    new XElement("NewChild", "new content")  
);  
Console.WriteLine(xmlTree);  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>child1 content</Child1>  
            <Child2>child2 content</Child2>  
            <Child3>child3 content</Child3>  
            <Child4>child4 content</Child4>  
            <Child5>child5 content</Child5>  
        </Root>  
  
Dim child3 As XElement = xmlTree.<Child3>(0)  
child3.ReplaceWith(<NewChild>new content</NewChild>)  
Console.WriteLine(xmlTree)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Root>  
  <Child1>child1 content</Child1>  
  <Child2>child2 content</Child2>  
  <NewChild>new content</NewChild>  
  <Child4>child4 content</Child4>  
  <Child5>child5 content</Child5>  
</Root>  

注釈

このメソッドは、まず親からこのノードを削除し、このノードの代わりに、指定されたコンテンツをこのノードの親に追加します。This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.

XContainer 、その子ノードをオブジェクトのXNodeシングルリンクリストとして格納します。The XContainer stores its child nodes as a singly-linked list of XNode objects. これは、 ReplaceWithメソッドが親コンテナーの下にある直接の子ノードのリストを走査する必要があることを意味します。This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. したがって、この方法を使用すると、パフォーマンスに影響を与える可能性があります。Therefore, using this method might affect your performance.

このメソッドに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

このメソッドは、 Changed Changingイベントとイベントを発生させます。This method will raise the Changed and the Changing events.

こちらもご覧ください

ReplaceWith(Object[]) ReplaceWith(Object[]) ReplaceWith(Object[]) ReplaceWith(Object[])

現在のノードを指定された内容に置き換えます。Replaces this node with the specified content.

public:
 void ReplaceWith(... cli::array <System::Object ^> ^ content);
public void ReplaceWith (params object[] content);
member this.ReplaceWith : obj[] -> unit
Public Sub ReplaceWith (ParamArray content As Object())

パラメーター

content
Object[]

新しい内容のパラメーター リスト。A parameter list of the new content.

次の例では、 LINQ to XMLLINQ to XMLクエリの結果をこのメソッドへの入力として使用する方法を示します。The following example shows using the results of a LINQ to XMLLINQ to XML query as the input to this method.

XElement srcTree = new XElement("Root",  
    new XElement("Element1", 1),  
    new XElement("Element2", 2),  
    new XElement("Element3", 3),  
    new XElement("Element4", 4),  
    new XElement("Element5", 5)  
);  
XElement xmlTree = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5)  
);  
XElement child3 = xmlTree.Element("Child3");  
child3.ReplaceWith(  
    from el in srcTree.Elements()  
    where (int)el > 3  
    select el  
);  
Console.WriteLine(xmlTree);  
Dim srcTree As XElement = _   
        <Root>  
            <Element1>1</Element1>  
            <Element2>2</Element2>  
            <Element3>3</Element3>  
            <Element4>4</Element4>  
            <Element5>5</Element5>  
        </Root>  
  
Dim xmlTree As XElement = _   
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
        </Root>  
  
Dim child3 As XElement = xmlTree.<Child3>(0)  
child3.ReplaceWith( _  
    From el In srcTree.Elements() _  
    Where (CInt(el) > 3) _  
    Select el)  
  
Console.WriteLine(xmlTree)  

この例を実行すると、次の出力が生成されます。This example produces the following output:

<Root>  
  <Child1>1</Child1>  
  <Child2>2</Child2>  
  <Element4>4</Element4>  
  <Element5>5</Element5>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

注釈

このメソッドは、まず親からこのノードを削除し、このノードの代わりに、指定されたコンテンツをこのノードの親に追加します。This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.

XContainer 、その子ノードをオブジェクトのXNodeシングルリンクリストとして格納します。The XContainer stores its child nodes as a singly-linked list of XNode objects. これは、 ReplaceWithメソッドが親コンテナーの下にある直接の子ノードのリストを走査する必要があることを意味します。This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. したがって、この方法を使用すると、パフォーマンスに影響を与える可能性があります。Therefore, using this method might affect your performance.

このメソッドに渡すことができる有効なコンテンツの詳細については、「 XElement オブジェクトと XDocument オブジェクトの有効なコンテンツ」を参照してください。For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.

このメソッドは、 Changed Changingイベントとイベントを発生させます。This method will raise the Changed and the Changing events.

こちらもご覧ください

適用対象