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.

このメソッドが発生、ChangedChangingイベント。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.

このメソッドが発生、ChangedChangingイベント。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.

このメソッドが発生、ChangedChangingイベント。This method will raise the Changed and the Changing events.

こちらもご覧ください

適用対象