XNode.ReplaceWith Method (Object)
Replaces this node with the specified content.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
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.
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);
This example produces the following output:
Available since 8
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Available since 8.1