Condividi tramite


XElement.ReplaceAll Method (Object)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

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

Namespace:  System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

Syntax

'Declaration
Public Sub ReplaceAll ( _
    content As Object _
)
public void ReplaceAll(
    Object content
)

Parameters

  • content
    Type: System.Object
    The content that will replace the child nodes and attributes of this element.

Remarks

This method first removes existing content and attributes. It then adds the specified content.

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.

Examples

The following example uses this method.

Dim output As New StringBuilder
Dim root As XElement = _
    <Root>
        <Child>child content</Child>
    </Root>

' ReplaceAll with an XElement object.
root.ReplaceAll(<NewChild>n</NewChild>)
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with an XAttribute object.
root.ReplaceAll(New XAttribute("NewAttribute", "n"))
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with a string.
root.ReplaceAll("Some text")
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with a double.
Dim dbl As Double = 12.345
root.ReplaceAll(dbl)
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with a DateTime object.
Dim dt As DateTime = New DateTime(2006, 10, 6, 12, 30, 0)
root.ReplaceAll(dt)
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with a string array.
' Any collection other than a collection of XElement or XAttribute objects
' are converted to strings. The strings are concatenated and added.
Dim stringArray As String() = { _
    "abc", _
    "def", _
    "ghi" _
}
root.ReplaceAll(stringArray)
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with an array of XElement objects.
Dim ellArray As XElement() = { _
    New XElement("NewChild1", 1), _
    New XElement("NewChild2", 2), _
    New XElement("NewChild3", 3) _
}
root.ReplaceAll(ellArray)
output.Append(root)
output.Append(Environment.NewLine)

' ReplaceAll with an array of XAttribute objects.
Dim attArray As XAttribute() = { _
New XAttribute("NewAtt1", 1), _
New XAttribute("NewAtt2", 2), _
New XAttribute("NewAtt3", 3) _
}
root.ReplaceAll(attArray)
output.Append(root)
output.Append(Environment.NewLine)


OutputTextBlock.Text = output.ToString()
    StringBuilder output = new StringBuilder();
    XElement root = new XElement("Root",
        new XElement("Child", "child content")
    );

    // ReplaceAll with an XElement object.
    root.ReplaceAll(new XElement("NewChild", "n"));
    output.Append(root + Environment.NewLine);

    // ReplaceAll with an XAttribute object.
    root.ReplaceAll(new XAttribute("NewAttribute", "n"));
    output.Append(root + Environment.NewLine);

    // ReplaceAll with a string.
    root.ReplaceAll("Some text");
    output.Append(root + Environment.NewLine);

    // ReplaceAll with a double.
    double dbl = 12.345;
    root.ReplaceAll(dbl);
    output.Append(root + Environment.NewLine);

    // ReplaceAll with a DateTime object.
    DateTime dt = new DateTime(2006, 10, 6, 12, 30, 00);
    root.ReplaceAll(dt);
    output.Append(root + Environment.NewLine);

    // ReplaceAll with a string array.
    // Any collection other than a collection of XElement or XAttribute objects
    // are converted to strings. The strings are concatenated and added.
    string[] stringArray = {
    "abc",
    "def",
    "ghi"
};
    root.ReplaceAll(stringArray);
    output.Append(root + Environment.NewLine);

    // ReplaceAll with an array of XElement objects.
    XElement[] ellArray = {
    new XElement("NewChild1", 1),
    new XElement("NewChild2", 2),
    new XElement("NewChild3", 3)
};
    root.ReplaceAll(ellArray);
    output.Append(root + Environment.NewLine);

    // ReplaceAll with an array of XAttribute objects.
    XAttribute[] attArray = {
    new XAttribute("NewAtt1", 1),
    new XAttribute("NewAtt2", 2),
    new XAttribute("NewAtt3", 3)
};
    root.ReplaceAll(attArray);
    output.Append(root + Environment.NewLine);

    OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.