XContainer.ReplaceNodes Method (Object)
Replaces the children nodes of this document or element with the specified content.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
For details about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects1.
This method has snapshot semantics. It first creates a copy of the new content. It then removes all children nodes of this node. Finally, it adds the new content as children nodes. This means that you can replace children nodes using a query on the children nodes themselves.
The following example creates an XML tree that contains children nodes. It then replaces all of the children nodes with a single element.
To see an example of replacing the children nodes with the results of a LINQ 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);
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