XContainer.ReplaceNodes メソッド

定義

このドキュメントまたは要素の子ノードを指定された内容で置き換えます。Replaces the children nodes of this document or element with the specified content.

オーバーロード

ReplaceNodes(Object)

このドキュメントまたは要素の子ノードを指定された内容で置き換えます。Replaces the children nodes of this document or element with the specified content.

ReplaceNodes(Object[])

このドキュメントまたは要素の子ノードを指定された内容で置き換えます。Replaces the children nodes of this document or element with the specified content.

次の例では、2つの XML ツリーを作成し、このメソッドを使用して、いずれかの内容をクエリの結果に置き換えます。The following example creates two XML trees, and then uses this method to replace the contents of one of them with the results of a query.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

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

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

注釈

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

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

このメソッドにはスナップショットセマンティクスがあります。This method has snapshot semantics. まず、新しいコンテンツのコピーを作成します。It first creates a copy of the new content. 次に、このノードのすべての子ノードを削除します。It then removes all children nodes of this node. 最後に、子ノードとして新しいコンテンツを追加します。Finally, it adds the new content as children nodes. これは、子ノード自体でクエリを使用して、子ノードを置換できることを意味します。This means that you can replace children nodes using a query on the children nodes themselves.

ReplaceNodes(Object)

このドキュメントまたは要素の子ノードを指定された内容で置き換えます。Replaces the children nodes of this document or element with the specified content.

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

パラメーター

content
Object

子ノードを置き換える単純な内容またはコンテンツ オブジェクトのコレクションを格納しているコンテンツ オブジェクト。A content object containing simple content or a collection of content objects that replace the children nodes.

次の例では、子ノードを含む XML ツリーを作成します。The following example creates an XML tree that contains children nodes. 次に、すべての子ノードを1つの要素に置き換えます。It then replaces all of the children nodes with a single element.

子ノードをLINQLINQクエリの結果に置き換える例については、「」をReplaceNodes参照してください。To see an example of replacing the children nodes with the results of a LINQLINQ query, see ReplaceNodes.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

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

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

注釈

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

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

このメソッドにはスナップショットセマンティクスがあります。This method has snapshot semantics. まず、新しいコンテンツのコピーを作成します。It first creates a copy of the new content. 次に、このノードのすべての子ノードを削除します。It then removes all children nodes of this node. 最後に、子ノードとして新しいコンテンツを追加します。Finally, it adds the new content as children nodes. これは、子ノード自体でクエリを使用して、子ノードを置換できることを意味します。This means that you can replace children nodes using a query on the children nodes themselves.

こちらもご覧ください

ReplaceNodes(Object[])

このドキュメントまたは要素の子ノードを指定された内容で置き換えます。Replaces the children nodes of this document or element with the specified content.

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

パラメーター

content
Object[]

コンテンツ オブジェクトのパラメーター リスト。A parameter list of content objects.

次の例では、ディクショナリと XML ツリーを作成します。The following example creates a dictionary and an XML tree. 次に、辞書に対しIEnumerable<T>てクエリを実行し、結果をのXElementに射影して、XML ツリーの内容をクエリの結果に置き換えます。It then queries the dictionary, projects the results to an IEnumerable<T> of XElement, and replaces the contents of the XML tree with the results of the query.

XElement root = new XElement("Root",  
    new XElement("Child", 1),  
    new XElement("Child", 2),  
    new XElement("Child", 3),  
    new XElement("Child", 4),  
    new XElement("Child", 5)  
);  
root.ReplaceNodes(  
    from el in root.Elements()  
    where (int)el >= 3  
    select el  
);  
Console.WriteLine(root);  
Dim root As XElement = _   
    <Root>  
        <Child>1</Child>  
        <Child>2</Child>  
        <Child>3</Child>  
        <Child>4</Child>  
        <Child>5</Child>  
    </Root>  
root.ReplaceNodes( _  
    From el In root.Elements _  
    Where el.Value >= 3 _  
    Select el)  
Console.WriteLine(root)  

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

<Root>  
  <Child>3</Child>  
  <Child>4</Child>  
  <Child>5</Child>  
</Root>  

注釈

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

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

このメソッドにはスナップショットセマンティクスがあります。This method has snapshot semantics. まず、新しいコンテンツのコピーを作成します。It first creates a copy of the new content. 次に、このノードのすべての子ノードを削除します。It then removes all children nodes of this node. 最後に、子ノードとして新しいコンテンツを追加します。Finally, it adds the new content as children nodes. これは、子ノード自体でクエリを使用して、子ノードを置換できることを意味します。This means that you can replace children nodes using a query on the children nodes themselves.

こちらもご覧ください

適用対象