XElement Class (System.Xml.Linq)

Switch View :
ScriptFree
.NET Framework Class Library
XElement Class

[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]

Represents an XML element.

Inheritance Hierarchy

System.Object
  System.Xml.Linq.XObject
    System.Xml.Linq.XNode
      System.Xml.Linq.XContainer
        System.Xml.Linq.XElement

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

Visual Basic

Public Class XElement _
	Inherits XContainer _
	Implements IXmlSerializable
C#

public class XElement : XContainer, IXmlSerializable
Visual C++

public ref class XElement : public XContainer, 
	IXmlSerializable
F#

type XElement =  
    class
        inherit XContainer
        interface IXmlSerializable
    end

The XElement type exposes the following members.

Constructors

  Name Description
Public method Supported by the XNA Framework Supported by Portable Class Library XElement(XElement) Initializes a new instance of the XElement class from another XElement object.
Public method Supported by the XNA Framework Supported by Portable Class Library XElement(XName) Initializes a new instance of the XElement class with the specified name.
Public method Supported by the XNA Framework Supported by Portable Class Library XElement(XStreamingElement) Initializes a new instance of the XElement class from an XStreamingElement object.
Public method Supported by the XNA Framework Supported by Portable Class Library XElement(XName, Object) Initializes a new instance of the XElement class with the specified name and content.
Public method Supported by the XNA Framework Supported by Portable Class Library XElement(XName, Object[]) Initializes a new instance of the XElement class with the specified name and content.
Top
Properties

  Name Description
Public property Supported by the XNA Framework Supported by Portable Class Library BaseUri Gets the base URI for this XObject. (Inherited from XObject.)
Public property Supported by the XNA Framework Supported by Portable Class Library Document Gets the XDocument for this XObject. (Inherited from XObject.)
Public property Static member Supported by the XNA Framework Supported by Portable Class Library EmptySequence Gets an empty collection of elements.
Public property Supported by the XNA Framework Supported by Portable Class Library FirstAttribute Gets the first attribute of this element.
Public property Supported by the XNA Framework Supported by Portable Class Library FirstNode Get the first child node of this node. (Inherited from XContainer.)
Public property Supported by the XNA Framework Supported by Portable Class Library HasAttributes Gets a value indicating whether this element as at least one attribute.
Public property Supported by the XNA Framework Supported by Portable Class Library HasElements Gets a value indicating whether this element has at least one child element.
Public property Supported by the XNA Framework Supported by Portable Class Library IsEmpty Gets a value indicating whether this element contains no content.
Public property Supported by the XNA Framework Supported by Portable Class Library LastAttribute Gets the last attribute of this element.
Public property Supported by the XNA Framework Supported by Portable Class Library LastNode Get the last child node of this node. (Inherited from XContainer.)
Public property Supported by the XNA Framework Supported by Portable Class Library Name Gets or sets the name of this element.
Public property Supported by the XNA Framework Supported by Portable Class Library NextNode Gets the next sibling node of this node. (Inherited from XNode.)
Public property Supported by the XNA Framework Supported by Portable Class Library NodeType Gets the node type for this node. (Overrides XObject.NodeType.)
Public property Supported by the XNA Framework Supported by Portable Class Library Parent Gets the parent XElement of this XObject. (Inherited from XObject.)
Public property Supported by the XNA Framework Supported by Portable Class Library PreviousNode Gets the previous sibling node of this node. (Inherited from XNode.)
Public property Supported by the XNA Framework Supported by Portable Class Library Value Gets or sets the concatenated text contents of this element.
Top
Methods

  Name Description
Public method Supported by the XNA Framework Supported by Portable Class Library Add(Object) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library Add(Object[]) Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddAfterSelf(Object) Adds the specified content immediately after this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddAfterSelf(Object[]) Adds the specified content immediately after this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddAnnotation Adds an object to the annotation list of this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddBeforeSelf(Object) Adds the specified content immediately before this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddBeforeSelf(Object[]) Adds the specified content immediately before this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddFirst(Object) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library AddFirst(Object[]) Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library Ancestors() Returns a collection of the ancestor elements of this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library Ancestors(XName) Returns a filtered collection of the ancestor elements of this node. Only elements that have a matching XName are included in the collection. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library AncestorsAndSelf() Returns a collection of elements that contain this element, and the ancestors of this element.
Public method Supported by the XNA Framework Supported by Portable Class Library AncestorsAndSelf(XName) Returns a filtered collection of elements that contain this element, and the ancestors of this element. Only elements that have a matching XName are included in the collection.
Public method Supported by the XNA Framework Supported by Portable Class Library Annotation(Type) Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library Annotation<T>() Get the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library Annotations(Type) Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library Annotations<T>() Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library Attribute Returns the XAttribute of this XElement that has the specified XName.
Public method Supported by the XNA Framework Supported by Portable Class Library Attributes() Returns a collection of attributes of this element.
Public method Supported by the XNA Framework Supported by Portable Class Library Attributes(XName) Returns a filtered collection of attributes of this element. Only elements that have a matching XName are included in the collection.
Public method Supported by the XNA Framework Supported by Portable Class Library CreateReader() Creates an XmlReader for this node. (Inherited from XNode.)
Public method Supported by Portable Class Library CreateReader(ReaderOptions) Creates an XmlReader with the options specified by the readerOptions parameter. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library CreateWriter Creates an XmlWriter that can be used to add nodes to the XContainer. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library DescendantNodes Returns a collection of the descendant nodes for this document or element, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library DescendantNodesAndSelf Returns a collection of nodes that contain this element, and all descendant nodes of this element, in document order.
Public method Supported by the XNA Framework Supported by Portable Class Library Descendants() Returns a collection of the descendant elements for this document or element, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library Descendants(XName) Returns a filtered collection of the descendant elements for this document or element, in document order. Only elements that have a matching XName are included in the collection. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library DescendantsAndSelf() Returns a collection of elements that contain this element, and all descendant elements of this element, in document order.
Public method Supported by the XNA Framework Supported by Portable Class Library DescendantsAndSelf(XName) Returns a filtered collection of elements that contain this element, and all descendant elements of this element, in document order. Only elements that have a matching XName are included in the collection.
Public method Supported by the XNA Framework Supported by Portable Class Library Element Gets the first (in document order) child element with the specified XName. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library Elements() Returns a collection of the child elements of this element or document, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library Elements(XName) Returns a filtered collection of the child elements of this element or document, in document order. Only elements that have a matching XName are included in the collection. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library ElementsAfterSelf() Returns a collection of the sibling elements after this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library ElementsAfterSelf(XName) Returns a filtered collection of the sibling elements after this node, in document order. Only elements that have a matching XName are included in the collection. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library ElementsBeforeSelf() Returns a collection of the sibling elements before this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library ElementsBeforeSelf(XName) Returns a filtered collection of the sibling elements before this node, in document order. Only elements that have a matching XName are included in the collection. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Supported by the XNA Framework Supported by Portable Class Library Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method Supported by the XNA Framework Supported by Portable Class Library GetDefaultNamespace Gets the default XNamespace of this XElement.
Public method Supported by the XNA Framework Supported by Portable Class Library GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method Supported by the XNA Framework Supported by Portable Class Library GetNamespaceOfPrefix Gets the namespace associated with a particular prefix for this XElement.
Public method Supported by the XNA Framework Supported by Portable Class Library GetPrefixOfNamespace Gets the prefix associated with a namespace for this XElement.
Public method Supported by the XNA Framework Supported by Portable Class Library GetType Gets the Type of the current instance. (Inherited from Object.)
Public method Supported by the XNA Framework Supported by Portable Class Library IsAfter Determines if the current node appears after a specified node in terms of document order. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library IsBefore Determines if the current node appears before a specified node in terms of document order. (Inherited from XNode.)
Public method Static member Supported by Portable Class Library Load(Stream) Creates a new XElement instance by using the specified stream.
Public method Static member Supported by the XNA Framework Load(String) Loads an XElement from a file.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Load(TextReader) Loads an XElement from a TextReader.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Load(XmlReader) Loads an XElement from an XmlReader.
Public method Static member Supported by Portable Class Library Load(Stream, LoadOptions) Creates a new XElement instance by using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.
Public method Static member Supported by the XNA Framework Load(String, LoadOptions) Loads an XElement from a file, optionally preserving white space, setting the base URI, and retaining line information.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Load(TextReader, LoadOptions) Loads an XElement from a TextReader, optionally preserving white space and retaining line information.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Load(XmlReader, LoadOptions) Loads an XElement from an XmlReader, optionally preserving white space, setting the base URI, and retaining line information.
Protected method Supported by the XNA Framework Supported by Portable Class Library MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method Supported by the XNA Framework Supported by Portable Class Library Nodes Returns a collection of the child nodes of this element or document, in document order. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library NodesAfterSelf Returns a collection of the sibling nodes after this node, in document order. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library NodesBeforeSelf Returns a collection of the sibling nodes before this node, in document order. (Inherited from XNode.)
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Parse(String) Load an XElement from a string that contains XML.
Public method Static member Supported by the XNA Framework Supported by Portable Class Library Parse(String, LoadOptions) Load an XElement from a string that contains XML, optionally preserving white space and retaining line information.
Public method Supported by the XNA Framework Supported by Portable Class Library Remove Removes this node from its parent. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library RemoveAll Removes nodes and attributes from this XElement.
Public method Supported by the XNA Framework Supported by Portable Class Library RemoveAnnotations(Type) Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library RemoveAnnotations<T>() Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public method Supported by the XNA Framework Supported by Portable Class Library RemoveAttributes Removes the attributes of this XElement.
Public method Supported by the XNA Framework Supported by Portable Class Library RemoveNodes Removes the child nodes from this document or element. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceAll(Object) Replaces the child nodes and the attributes of this element with the specified content.
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceAll(Object[]) Replaces the child nodes and the attributes of this element with the specified content.
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceAttributes(Object) Replaces the attributes of this element with the specified content.
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceAttributes(Object[]) Replaces the attributes of this element with the specified content.
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceNodes(Object) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceNodes(Object[]) Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceWith(Object) Replaces this node with the specified content. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library ReplaceWith(Object[]) Replaces this node with the specified content. (Inherited from XNode.)
Public method Supported by Portable Class Library Save(Stream) Outputs this XElement to the specified Stream.
Public method Supported by the XNA Framework Save(String) Serialize this element to a file.
Public method Supported by the XNA Framework Supported by Portable Class Library Save(TextWriter) Serialize this element to a TextWriter.
Public method Supported by the XNA Framework Supported by Portable Class Library Save(XmlWriter) Serialize this element to an XmlWriter.
Public method Supported by Portable Class Library Save(Stream, SaveOptions) Outputs this XElement to the specified Stream, optionally specifying formatting behavior.
Public method Supported by the XNA Framework Save(String, SaveOptions) Serialize this element to a file, optionally disabling formatting.
Public method Supported by the XNA Framework Supported by Portable Class Library Save(TextWriter, SaveOptions) Serialize this element to a TextWriter, optionally disabling formatting.
Public method Supported by the XNA Framework Supported by Portable Class Library SetAttributeValue Sets the value of an attribute, adds an attribute, or removes an attribute.
Public method Supported by the XNA Framework Supported by Portable Class Library SetElementValue Sets the value of a child element, adds a child element, or removes a child element.
Public method Supported by the XNA Framework Supported by Portable Class Library SetValue Sets the value of this element.
Public method Supported by the XNA Framework Supported by Portable Class Library ToString() Returns the indented XML for this node. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library ToString(SaveOptions) Returns the XML for this node, optionally disabling formatting. (Inherited from XNode.)
Public method Supported by the XNA Framework Supported by Portable Class Library WriteTo Write this element to an XmlWriter. (Overrides XNode.WriteTo(XmlWriter).)
Top
Events

  Name Description
Public event Supported by the XNA Framework Supported by Portable Class Library Changed Raised when this XObject or any of its descendants have changed. (Inherited from XObject.)
Public event Supported by the XNA Framework Supported by Portable Class Library Changing Raised when this XObject or any of its descendants are about to change. (Inherited from XObject.)
Top
Operators

  Name Description
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Decimal) Cast the value of this XElement to a Decimal.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Decimal>) Cast the value of this XElement to a Nullable<T> of Decimal.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to DateTime) Cast the value of this XElement to a DateTime.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Single>) Cast the value of this XElement to a Nullable<T> of Single.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Double) Cast the value of this XElement to a Double.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Double>) Cast the value of this XElement to a Nullable<T> of Double.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<DateTime>) Cast the value of this XElement to a Nullable<T> of DateTime.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<TimeSpan>) Cast the value of this XElement to a Nullable<T> of TimeSpan.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Guid) Cast the value of this XElement to a Guid.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Guid>) Cast the value of this XElement to a Nullable<T> of Guid.
Public operator Static member Supported by Portable Class Library Explicit(XElement to DateTimeOffset) Cast the value of this XAttribute to a DateTimeOffset.
Public operator Static member Supported by Portable Class Library Explicit(XElement to Nullable<DateTimeOffset>) Cast the value of this XElement to a Nullable<T> of DateTimeOffset.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to TimeSpan) Cast the value of this XElement to a TimeSpan.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Int32) Cast the value of this XElement to an Int32.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Int32>) Cast the value of this XElement to a Nullable<T> of Int32.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to UInt32) Cast the value of this XElement to a UInt32.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to String) Cast the value of this XElement to a String.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Boolean) Cast the value of this XElement to a Boolean.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Boolean>) Cast the value of this XElement to a Nullable<T> of Boolean.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to UInt64) Cast the value of this XElement to a UInt64.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<UInt64>) Cast the value of this XElement to a Nullable<T> of UInt64.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Single) Cast the value of this XElement to a Single.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<UInt32>) Cast the value of this XElement to a Nullable<T> of UInt32.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Int64) Cast the value of this XElement to an Int64.
Public operator Static member Supported by the XNA Framework Supported by Portable Class Library Explicit(XElement to Nullable<Int64>) Cast the value of this XElement to a Nullable<T> of Int64.
Top
Extension Methods

  Name Description
Public Extension Method CreateNavigator() Overloaded. Creates an XPathNavigator for an XNode. (Defined by Extensions.)
Public Extension Method CreateNavigator(XmlNameTable) Overloaded. Creates an XPathNavigator for an XNode. The XmlNameTable enables more efficient XPath expression processing. (Defined by Extensions.)
Public Extension Method GetSchemaInfo Gets the post-schema-validation infoset (PSVI) of a validated element. (Defined by Extensions.)
Public Extension Method Validate(XmlSchemaObject, XmlSchemaSet, ValidationEventHandler) Overloaded. This method validates that an XElement sub-tree conforms to a specified XmlSchemaObject and an XmlSchemaSet. (Defined by Extensions.)
Public Extension Method Validate(XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean) Overloaded. Validates that an XElement sub-tree conforms to a specified XmlSchemaObject and an XmlSchemaSet, optionally populating the XML tree with the post-schema-validation infoset (PSVI). (Defined by Extensions.)
Public Extension Method XPathEvaluate(String) Overloaded. Evaluates an XPath expression. (Defined by Extensions.)
Public Extension Method XPathEvaluate(String, IXmlNamespaceResolver) Overloaded. Evaluates an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.)
Public Extension Method XPathSelectElement(String) Overloaded. Selects an XElement using a XPath expression. (Defined by Extensions.)
Public Extension Method XPathSelectElement(String, IXmlNamespaceResolver) Overloaded. Selects an XElement using a XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.)
Public Extension Method XPathSelectElements(String) Overloaded. Selects a collection of elements using an XPath expression. (Defined by Extensions.)
Public Extension Method XPathSelectElements(String, IXmlNamespaceResolver) Overloaded. Selects a collection of elements using an XPath expression, resolving namespace prefixes using the specified IXmlNamespaceResolver. (Defined by Extensions.)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private method Supported by the XNA Framework Supported by Portable Class Library IXmlLineInfo.HasLineInfo Gets a value indicating whether or not this XObject has line information. (Inherited from XObject.)
Explicit interface implemetation Private property Supported by the XNA Framework Supported by Portable Class Library IXmlLineInfo.LineNumber Gets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetation Private property Supported by the XNA Framework Supported by Portable Class Library IXmlLineInfo.LinePosition Gets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetation Private method Supported by the XNA Framework IXmlSerializable.GetSchema Gets an XML schema definition that describes the XML representation of this object.
Explicit interface implemetation Private method Supported by the XNA Framework IXmlSerializable.ReadXml Generates an object from its XML representation.
Explicit interface implemetation Private method Supported by the XNA Framework IXmlSerializable.WriteXml Converts an object into its XML representation.
Top
Remarks

This class represents an XML element, the fundamental XML construct.

An element has an XName, optionally one or more attributes, and can optionally contain content (for more information, see Nodes).

An XElement can contain the following types of content:

For details about the valid content of an XElement, see Valid Content of XElement and XDocument Objects.

XElement derives from XContainer, which derives from XNode.

Some XElement methods can be used from XAML. For more information, see LINQ to XML Dynamic Properties.

Examples

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

C#
XElement xmlTree1 = new XElement("Root",
    new XElement("Child1", 1),
    new XElement("Child2", 2),
    new XElement("Child3", 3),
    new XElement("Child4", 4),
    new XElement("Child5", 5),
    new XElement("Child6", 6)
);

XElement xmlTree2 = new XElement("Root",
    from el in xmlTree1.Elements()
    where((int)el >= 3 && (int)el <= 5)
    select el
);
Console.WriteLine(xmlTree2);
Visual Basic
Dim xmlTree1 As XElement = _
        <Root>
            <Child1>1</Child1>
            <Child2>2</Child2>
            <Child3>3</Child3>
            <Child4>4</Child4>
            <Child5>5</Child5>
            <Child6>6</Child6>
        </Root>

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

Console.WriteLine(xmlTree2)

This example produces the following output:

Xml
<Root>
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>

The following is the same example, but in this case the XML is in a namespace. For more information, see Working with XML Namespaces.

C#
XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree1 = new XElement(aw + "Root",
    new XElement(aw + "Child1", 1),
    new XElement(aw + "Child2", 2),
    new XElement(aw + "Child3", 3),
    new XElement(aw + "Child4", 4),
    new XElement(aw + "Child5", 5),
    new XElement(aw + "Child6", 6)
);

XElement xmlTree2 = new XElement(aw + "Root",
    from el in xmlTree1.Elements()
    where((int)el >= 3 && (int)el <= 5)
    select el
);
Console.WriteLine(xmlTree2);
Visual Basic
Imports <xmlns="http://www.adventure-works.com">

Module Module1
    Sub Main()
        Dim xmlTree1 As XElement = _
            <Root>
                <Child1>1</Child1>
                <Child2>2</Child2>
                <Child3>3</Child3>
                <Child4>4</Child4>
                <Child5>5</Child5>
                <Child6>6</Child6>
            </Root>

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

        Console.WriteLine(xmlTree2)
    End SUb
End Module

This example produces the following output:

Xml
<Root xmlns="http://www.adventure-works.com">
  <Child3>3</Child3>
  <Child4>4</Child4>
  <Child5>5</Child5>
</Root>
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library
Platforms

Windows 8 Release Preview, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also

Reference

Other Resources