XContainer.ReplaceNodes XContainer.ReplaceNodes XContainer.ReplaceNodes XContainer.ReplaceNodes Method

定義

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

オーバーロード

ReplaceNodes(Object) ReplaceNodes(Object) ReplaceNodes(Object) ReplaceNodes(Object)

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

ReplaceNodes(Object[]) ReplaceNodes(Object[]) ReplaceNodes(Object[]) ReplaceNodes(Object[])

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

次の例では、2 つの XML ツリーを作成し、このメソッドを使用して、クエリの結果のうち 1 つの内容を置き換えます。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.

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

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

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

こちらもご覧ください

適用対象