XContainer.ReplaceNodes Método

Definición

Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado.Replaces the children nodes of this document or element with the specified content.

Sobrecargas

ReplaceNodes(Object)

Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado.Replaces the children nodes of this document or element with the specified content.

ReplaceNodes(Object[])

Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado.Replaces the children nodes of this document or element with the specified content.

Ejemplos

En el ejemplo siguiente se crean dos árboles XML y, a continuación, se usa este método para reemplazar el contenido de uno de ellos por los resultados de una consulta.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)  

En este ejemplo se produce la siguiente salida:This example produces the following output:

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

Comentarios

Para obtener más información sobre el contenido válido que se puede pasar a esta función, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects.

Este método generará los eventos Changed y Changing.This method will raise the Changed and the Changing events.

Este método tiene semántica de instantáneas.This method has snapshot semantics. En primer lugar, crea una copia del nuevo contenido.It first creates a copy of the new content. A continuación, quita todos los nodos secundarios de este nodo.It then removes all children nodes of this node. Por último, agrega el nuevo contenido como nodos secundarios.Finally, it adds the new content as children nodes. Esto significa que puede reemplazar los nodos secundarios mediante una consulta en los propios nodos secundarios.This means that you can replace children nodes using a query on the children nodes themselves.

ReplaceNodes(Object)

Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado.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)

Parámetros

content
Object

Objeto de contenido que incluye contenido simple o una colección de objetos de contenido que reemplazan los nodos secundarios.A content object containing simple content or a collection of content objects that replace the children nodes.

Ejemplos

En el ejemplo siguiente se crea un árbol XML que contiene nodos secundarios.The following example creates an XML tree that contains children nodes. A continuación, reemplaza todos los nodos secundarios por un único elemento.It then replaces all of the children nodes with a single element.

Para ver un ejemplo de cómo reemplazar los nodos secundarios con los resultados de una consulta de LINQLINQ, vea 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)  

En este ejemplo se produce la siguiente salida:This example produces the following output:

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

Comentarios

Para obtener más información sobre el contenido válido que se puede pasar a esta función, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects.

Este método generará los eventos Changed y Changing.This method will raise the Changed and the Changing events.

Este método tiene semántica de instantáneas.This method has snapshot semantics. En primer lugar, crea una copia del nuevo contenido.It first creates a copy of the new content. A continuación, quita todos los nodos secundarios de este nodo.It then removes all children nodes of this node. Por último, agrega el nuevo contenido como nodos secundarios.Finally, it adds the new content as children nodes. Esto significa que puede reemplazar los nodos secundarios mediante una consulta en los propios nodos secundarios.This means that you can replace children nodes using a query on the children nodes themselves.

Consulte también:

ReplaceNodes(Object[])

Reemplaza los nodos secundarios de este documento o elemento por el contenido especificado.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())

Parámetros

content
Object[]

Lista de parámetros de objetos de contenido.A parameter list of content objects.

Ejemplos

En el ejemplo siguiente se crea un diccionario y un árbol XML.The following example creates a dictionary and an XML tree. A continuación, consulta el diccionario, proyecta los resultados en un IEnumerable<T> de XElementy reemplaza el contenido del árbol XML con los resultados de la consulta.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)  

En este ejemplo se produce la siguiente salida:This example produces the following output:

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

Comentarios

Para obtener más información sobre el contenido válido que se puede pasar a esta función, vea contenido válido de objetos XElement y XDocument.For details about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects.

Este método generará los eventos Changed y Changing.This method will raise the Changed and the Changing events.

Este método tiene semántica de instantáneas.This method has snapshot semantics. En primer lugar, crea una copia del nuevo contenido.It first creates a copy of the new content. A continuación, quita todos los nodos secundarios de este nodo.It then removes all children nodes of this node. Por último, agrega el nuevo contenido como nodos secundarios.Finally, it adds the new content as children nodes. Esto significa que puede reemplazar los nodos secundarios mediante una consulta en los propios nodos secundarios.This means that you can replace children nodes using a query on the children nodes themselves.

Consulte también:

Se aplica a