XNode.ReplaceWith Método

Definição

Substitui esse nó pelo conteúdo especificado.

Sobrecargas

ReplaceWith(Object)

Substitui esse nó pelo conteúdo especificado.

ReplaceWith(Object[])

Substitui esse nó pelo conteúdo especificado.

Exemplos

O exemplo a seguir usa esse método para substituir o conteúdo de um nó por conteúdo diferente.

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);  

Esse exemplo gera a saída a seguir:

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

Comentários

Para obter detalhes sobre o conteúdo válido que pode ser passado para esse método, consulte Conteúdo válido de objetos XElement e XDocument.

Esse método gerará os ChangedChanging eventos e .

O XContainer armazena seus nós filho como uma lista vinculada de XNode objetos. Isso significa que o ReplaceWith método deve percorrer a lista de nós filho diretos no contêiner pai. Portanto, o uso desse método pode afetar seu desempenho.

ReplaceWith(Object)

Origem:
XNode.cs
Origem:
XNode.cs
Origem:
XNode.cs

Substitui esse nó pelo conteúdo especificado.

public void ReplaceWith (object content);
public void ReplaceWith (object? content);

Parâmetros

content
Object

Conteúdo que substitui esse nó.

Exemplos

O exemplo a seguir usa esse método para substituir o conteúdo de um nó por conteúdo diferente.

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);  

Esse exemplo gera a saída a seguir:

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

Comentários

Esse método primeiro remove esse nó de seu pai e, em seguida, adiciona o conteúdo especificado ao pai desse nó, no lugar desse nó.

O XContainer armazena seus nós filho como uma lista vinculada de XNode objetos. Isso significa que o ReplaceWith método deve percorrer a lista de nós filho diretos no contêiner pai. Portanto, o uso desse método pode afetar seu desempenho.

Para obter detalhes sobre o conteúdo válido que pode ser passado para esse método, consulte Conteúdo válido de objetos XElement e XDocument.

Esse método gerará os ChangedChanging eventos e .

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

ReplaceWith(Object[])

Origem:
XNode.cs
Origem:
XNode.cs
Origem:
XNode.cs

Substitui esse nó pelo conteúdo especificado.

public void ReplaceWith (params object[] content);
public void ReplaceWith (params object?[] content);

Parâmetros

content
Object[]

Uma lista de parâmetros do novo conteúdo.

Exemplos

O exemplo a seguir mostra como usar os resultados de uma consulta LINQ to XML como a entrada para esse 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);  

Esse exemplo gera a saída a seguir:

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

Comentários

Esse método primeiro remove esse nó de seu pai e, em seguida, adiciona o conteúdo especificado ao pai desse nó, no lugar desse nó.

O XContainer armazena seus nós filho como uma lista vinculada de XNode objetos. Isso significa que o ReplaceWith método deve percorrer a lista de nós filho diretos no contêiner pai. Portanto, o uso desse método pode afetar seu desempenho.

Para obter detalhes sobre o conteúdo válido que pode ser passado para esse método, consulte Conteúdo válido de objetos XElement e XDocument.

Esse método gerará os ChangedChanging eventos e .

Confira também

Aplica-se a

.NET 9 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0