XNode.ReplaceWith Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Replaces this node with the specified content.
Overloads
ReplaceWith(Object) |
Replaces this node with the specified content. |
ReplaceWith(Object[]) |
Replaces this node with the specified content. |
Examples
The following example uses this method to replace the contents of a node with different content.
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)
This example produces the following output:
<Root>
<Child1>child1 content</Child1>
<Child2>child2 content</Child2>
<NewChild>new content</NewChild>
<Child4>child4 content</Child4>
<Child5>child5 content</Child5>
</Root>
Remarks
For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.
This method will raise the Changed and the Changing events.
The XContainer stores its child nodes as a singly-linked list of XNode objects. This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. Therefore, using this method might affect your performance.
ReplaceWith(Object)
- Source:
- XNode.cs
- Source:
- XNode.cs
- Source:
- XNode.cs
Replaces this node with the specified content.
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)
Parameters
- content
- Object
Content that replaces this node.
Examples
The following example uses this method to replace the contents of a node with different content.
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)
This example produces the following output:
<Root>
<Child1>child1 content</Child1>
<Child2>child2 content</Child2>
<NewChild>new content</NewChild>
<Child4>child4 content</Child4>
<Child5>child5 content</Child5>
</Root>
Remarks
This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.
The XContainer stores its child nodes as a singly-linked list of XNode objects. This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. Therefore, using this method might affect your performance.
For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.
This method will raise the Changed and the Changing events.
See also
Applies to
ReplaceWith(Object[])
- Source:
- XNode.cs
- Source:
- XNode.cs
- Source:
- XNode.cs
Replaces this node with the specified content.
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())
Parameters
- content
- Object[]
A parameter list of the new content.
Examples
The following example shows using the results of a LINQ to XML query as the input to this method.
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)
This example produces the following output:
<Root>
<Child1>1</Child1>
<Child2>2</Child2>
<Element4>4</Element4>
<Element5>5</Element5>
<Child4>4</Child4>
<Child5>5</Child5>
</Root>
Remarks
This method first removes this node from its parent, and then adds the specified content to this node's parent, in the place of this node.
The XContainer stores its child nodes as a singly-linked list of XNode objects. This means that the ReplaceWith method must traverse the list of direct child nodes under the parent container. Therefore, using this method might affect your performance.
For details about the valid content that can be passed to this method, see Valid Content of XElement and XDocument Objects.
This method will raise the Changed and the Changing events.