XNode.ReplaceWith Método

Definición

Reemplaza este nodo por el contenido especificado.

Sobrecargas

ReplaceWith(Object)

Reemplaza este nodo por el contenido especificado.

ReplaceWith(Object[])

Reemplaza este nodo por el contenido especificado.

Ejemplos

En el ejemplo siguiente se usa este método para reemplazar el contenido de un nodo por otro contenido.

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)  

Este ejemplo produce el siguiente resultado:

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

Comentarios

Para obtener más información sobre el contenido válido que se puede pasar a este método, vea Contenido válido de objetos XElement y XDocument.

Este método generará los Changed eventos y Changing .

XContainer almacena sus nodos secundarios como una lista vinculada de forma singly de XNode objetos. Esto significa que el ReplaceWith método debe atravesar la lista de nodos secundarios directos bajo el contenedor primario. Por lo tanto, el uso de este método podría afectar al rendimiento.

ReplaceWith(Object)

Reemplaza este nodo por el contenido especificado.

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

Parámetros

content
Object

Contenido que reemplaza este nodo.

Ejemplos

En el ejemplo siguiente se usa este método para reemplazar el contenido de un nodo por otro contenido.

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)  

Este ejemplo produce el siguiente resultado:

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

Comentarios

Este método quita primero este nodo de su elemento primario y, a continuación, agrega el contenido especificado al elemento primario de este nodo, en lugar de este nodo.

XContainer almacena sus nodos secundarios como una lista vinculada de forma singly de XNode objetos. Esto significa que el ReplaceWith método debe atravesar la lista de nodos secundarios directos bajo el contenedor primario. Por lo tanto, el uso de este método podría afectar al rendimiento.

Para obtener más información sobre el contenido válido que se puede pasar a este método, vea Contenido válido de objetos XElement y XDocument.

Este método generará los Changed eventos y Changing .

Consulte también

Se aplica a

ReplaceWith(Object[])

Reemplaza este nodo por el contenido especificado.

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

Parámetros

content
Object[]

Lista de parámetros del nuevo contenido.

Ejemplos

En el ejemplo siguiente se muestra el uso de los resultados de una consulta de LINQ to XML como entrada para este método.

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)  

Este ejemplo produce el siguiente resultado:

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

Comentarios

Este método quita primero este nodo de su elemento primario y, a continuación, agrega el contenido especificado al elemento primario de este nodo, en lugar de este nodo.

XContainer almacena sus nodos secundarios como una lista vinculada de forma singly de XNode objetos. Esto significa que el ReplaceWith método debe atravesar la lista de nodos secundarios directos bajo el contenedor primario. Por lo tanto, el uso de este método podría afectar al rendimiento.

Para obtener más información sobre el contenido válido que se puede pasar a este método, vea Contenido válido de objetos XElement y XDocument.

Este método generará los Changed eventos y Changing .

Consulte también

Se aplica a