XElement Constructor

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

Include Protected Members
Include Inherited Members

Include Silverlight Members
Include Silverlight for Windows Phone Members
Include XNA Framework Members

Initializes a new instance of the XElement class.

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

Overload List

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XElement(XElement) Initializes a new instance of the XElement class from another XElement object.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XElement(XName) Initializes a new instance of the XElement class with the specified name.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XElement(XStreamingElement) Initializes a new instance of the XElement class from an XStreamingElement object.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XElement(XName, Object) Initializes a new instance of the XElement class with the specified name and content.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 XElement(XName, array<Object[]) Initializes a new instance of the XElement class with the specified name and content.

Top

Remarks

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

There is an implicit conversion from string to XName. Typical use of this constructor is to specify a string as the parameter instead of creating a new XName.

When creating an element in a namespace, typical use is to use the addition operator overload with an XNamespace and a string to create an XName. For more information, see Working With Namespaces in the .NET Framework documentation.

Examples

The following example creates an XML tree. The content of the new element comes from a LINQ query.

Dim output As New StringBuilder
Dim xmlTree1 As XElement = _
        <Root>
            <Child>1</Child>
            <Child>2</Child>
            <Child>3</Child>
            <Child>4</Child>
            <Child>5</Child>
            <Child>6</Child>
        </Root>

Dim xmlTree2 As XElement = _
    <Root>
        <%= From el In xmlTree1.Elements() _
            Where el.Value >= 3 And el.Value <= 5 _
            Select el %>
    </Root>

output.Append(xmlTree2)
output.Append(Environment.NewLine)


OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement xmlTree1 = new XElement("Root",
    new XElement("Child", 1),
    new XElement("Child", 2),
    new XElement("Child", 3),
    new XElement("Child", 4),
    new XElement("Child", 5),
    new XElement("Child", 6)
);

XElement xmlTree2 = new XElement("Root",
    from el in xmlTree1.Elements()
    where ((int)el >= 3 && (int)el <= 5)
    select el
);
output.Append(xmlTree2);

OutputTextBlock.Text = output.ToString();