Export (0) Print
Expand All

XElement.ReplaceAll Method

Replaces the child nodes and the attributes of this element with the specified content.

This member is overloaded. For complete information about this member, including syntax, usage, and examples, click a name in the overload list.

  Name Description
Public method Supported by Silverlight for Windows Phone Supported by Xbox 360 ReplaceAll(Object) Replaces the child nodes and the attributes of this element with the specified content.
Public method Supported by Silverlight for Windows Phone Supported by Xbox 360 ReplaceAll(Object[]) Replaces the child nodes and the attributes of this element with the specified content.
Top

This method uses snapshot semantics—that is, it creates a separate copy of the new content before replacing the contents of the current element with the new content. This means that you can query the contents of the current element and use the results of the query as the specified new content.

For more information about the valid content that can be passed to this function, see Valid Content of XElement and XDocument Objects in the .NET Framework documentation.

This method will raise the Changed and the Changing events.

The following example passes the results of a LINQ query to this method, replacing the contents of an element with the query results. It queries the element that is having its contents replaced.


StringBuilder output = new StringBuilder();
XElement xmlTree = new XElement("Root",
    new XElement("Data", 1),
    new XElement("Data", 2),
    new XElement("Data", 3),
    new XElement("Data", 4),
    new XElement("Data", 5)
);

output.Append(xmlTree + Environment.NewLine);
output.Append("-----" + Environment.NewLine);

xmlTree.ReplaceAll(
    from el in xmlTree.Elements()
    where (int)el >= 3
    select new XElement("NewData", (int)el)
);

output.Append(xmlTree + Environment.NewLine);

OutputTextBlock.Text = output.ToString();


Community Additions

ADD
Show:
© 2014 Microsoft