XElement Class

July 28, 2014

Represents an XML element.

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

public class XElement : XContainer, IXmlSerializable

The XElement type exposes the following members.

  NameDescription
Public methodXElement(XElement)Initializes a new instance of the XElement class from another XElement object.
Public methodXElement(XName)Initializes a new instance of the XElement class with the specified name.
Public methodXElement(XStreamingElement)Initializes a new instance of the XElement class from an XStreamingElement object.
Public methodXElement(XName, Object)Initializes a new instance of the XElement class with the specified name and content.
Public methodXElement(XName, Object[])Initializes a new instance of the XElement class with the specified name and content.
Top

  NameDescription
Public propertyBaseUriGets the base URI for this XObject. (Inherited from XObject.)
Public propertyDocumentGets the XDocument for this XObject. (Inherited from XObject.)
Public propertyStatic memberEmptySequenceGets an empty collection of elements.
Public propertyFirstAttributeGets the first attribute of this element.
Public propertyFirstNodeGet the first child node of this node. (Inherited from XContainer.)
Public propertyHasAttributesGets a value indicating whether this element as at least one attribute.
Public propertyHasElementsGets a value indicating whether this element has at least one child element.
Public propertyIsEmptyGets a value indicating whether this element contains no content.
Public propertyLastAttributeGets the last attribute of this element.
Public propertyLastNodeGet the last child node of this node. (Inherited from XContainer.)
Public propertyNameGets the name of this element.
Public propertyNextNodeGets the next sibling node of this node. (Inherited from XNode.)
Public propertyNodeTypeGets the node type for this node. (Overrides XObject.NodeType.)
Public propertyParentGets the parent XElement of this XObject. (Inherited from XObject.)
Public propertyPreviousNodeGets the previous sibling node of this node. (Inherited from XNode.)
Public propertyValueGets the concatenated text contents of this element.
Top

  NameDescription
Public methodAdd(Object)Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public methodAdd(Object[])Adds the specified content as children of this XContainer. (Inherited from XContainer.)
Public methodAddAfterSelf(Object)Adds the specified content immediately after this node. (Inherited from XNode.)
Public methodAddAfterSelf(Object[])Adds the specified content immediately after this node. (Inherited from XNode.)
Public methodAddAnnotationAdds an object to the annotation list of this XObject. (Inherited from XObject.)
Public methodAddBeforeSelf(Object)Adds the specified content immediately before this node. (Inherited from XNode.)
Public methodAddBeforeSelf(Object[])Adds the specified content immediately before this node. (Inherited from XNode.)
Public methodAddFirst(Object)Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public methodAddFirst(Object[])Adds the specified content as the first children of this document or element. (Inherited from XContainer.)
Public methodAncestors()Returns a collection of the ancestor elements of this node. (Inherited from XNode.)
Public methodAncestors(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 methodAncestorsAndSelf()Returns a collection of elements that contain this element, and the ancestors of this element.
Public methodAncestorsAndSelf(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 methodAnnotation(Type)Gets the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public methodAnnotation<T>()Get the first annotation object of the specified type from this XObject. (Inherited from XObject.)
Public methodAnnotations(Type)Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public methodAnnotations<T>()Gets a collection of annotations of the specified type for this XObject. (Inherited from XObject.)
Public methodAttributeReturns the XAttribute of this XElement that has the specified XName.
Public methodAttributes()Returns a collection of attributes of this element.
Public methodAttributes(XName)Returns a filtered collection of attributes of this element. Only elements that have a matching XName are included in the collection.
Public methodCreateReader()Creates an XmlReader for this node. (Inherited from XNode.)
Public methodCreateReader(ReaderOptions)Creates an XmlReader for this node. (Inherited from XNode.)
Public methodCreateWriterCreates an XmlWriter that can be used to add nodes to the XContainer. (Inherited from XContainer.)
Public methodDescendantNodesReturns a collection of the descendant nodes for this document or element, in document order. (Inherited from XContainer.)
Public methodDescendantNodesAndSelfReturns a collection of nodes that contain this element, and all descendant nodes of this element, in document order.
Public methodDescendants()Returns a collection of the descendant elements for this document or element, in document order. (Inherited from XContainer.)
Public methodDescendants(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 methodDescendantsAndSelf()Returns a collection of elements that contain this element, and all descendant elements of this element, in document order.
Public methodDescendantsAndSelf(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 methodElementGets the first (in document order) child element with the specified XName. (Inherited from XContainer.)
Public methodElements()Returns a collection of the child elements of this element or document, in document order. (Inherited from XContainer.)
Public methodElements(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 methodElementsAfterSelf()Returns a collection of the sibling elements after this node, in document order. (Inherited from XNode.)
Public methodElementsAfterSelf(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 methodElementsBeforeSelf()Returns a collection of the sibling elements before this node, in document order. (Inherited from XNode.)
Public methodElementsBeforeSelf(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 methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetDefaultNamespaceGets the default XNamespace of this XElement.
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetNamespaceOfPrefixGets the namespace associated with a particular prefix for this XElement.
Public methodGetPrefixOfNamespaceGets the prefix associated with a namespace for this XElement.
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodIsAfterDetermines if the current node appears after a specified node in terms of document order. (Inherited from XNode.)
Public methodIsBeforeDetermines if the current node appears before a specified node in terms of document order. (Inherited from XNode.)
Public methodStatic memberLoad(Stream)Creates a new XElement instance using the specified stream.
Public methodStatic memberLoad(String)Loads an XElement from a file located in the applications' XAP package.
Public methodStatic memberLoad(TextReader)Loads an XElement from a TextReader.
Public methodStatic memberLoad(XmlReader)Loads an XElement from an XmlReader.
Public methodStatic memberLoad(Stream, LoadOptions)Creates a new XElement instance using the specified stream, optionally preserving white space, setting the base URI, and retaining line information.
Public methodStatic memberLoad(String, LoadOptions)Loads an XElement from a file located in the application's XAP package, optionally preserving white space, setting the base URI, and retaining line information.
Public methodStatic memberLoad(TextReader, LoadOptions)Loads an XElement from a TextReader, optionally preserving white space and retaining line information.
Public methodStatic memberLoad(XmlReader, LoadOptions)Loads an XElement from an XmlReader, optionally preserving white space, setting the base URI, and retaining line information.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodNodesReturns a collection of the child nodes of this element or document, in document order. (Inherited from XContainer.)
Public methodNodesAfterSelfReturns a collection of the sibling nodes after this node, in document order. (Inherited from XNode.)
Public methodNodesBeforeSelfReturns a collection of the sibling nodes before this node, in document order. (Inherited from XNode.)
Public methodStatic memberParse(String)Load an XElement from a string that contains XML.
Public methodStatic memberParse(String, LoadOptions)Load an XElement from a string that contains XML, optionally preserving white space and retaining line information.
Public methodRemoveRemoves this node from its parent. (Inherited from XNode.)
Public methodRemoveAllRemoves nodes and attributes from this XElement.
Public methodRemoveAnnotations(Type)Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public methodRemoveAnnotations<T>()Removes the annotations of the specified type from this XObject. (Inherited from XObject.)
Public methodRemoveAttributesRemoves the attributes of this XElement.
Public methodRemoveNodesRemoves the child nodes from this document or element. (Inherited from XContainer.)
Public methodReplaceAll(Object)Replaces the child nodes and the attributes of this element with the specified content.
Public methodReplaceAll(Object[])Replaces the child nodes and the attributes of this element with the specified content.
Public methodReplaceAttributes(Object)Replaces the attributes of this element with the specified content.
Public methodReplaceAttributes(Object[])Replaces the attributes of this element with the specified content.
Public methodReplaceNodes(Object)Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public methodReplaceNodes(Object[])Replaces the children nodes of this document or element with the specified content. (Inherited from XContainer.)
Public methodReplaceWith(Object)Replaces this node with the specified content. (Inherited from XNode.)
Public methodReplaceWith(Object[])Replaces this node with the specified content. (Inherited from XNode.)
Public methodSave(Stream)Outputs this XElement to the specified Stream.
Public methodSave(TextWriter)Serialize this element to a TextWriter.
Public methodSave(XmlWriter)Serialize this element to an XmlWriter.
Public methodSave(Stream, SaveOptions)Outputs this XElement to the specified Stream, optionally specifying formatting behavior.
Public methodSave(TextWriter, SaveOptions)Serialize this element to a TextWriter, optionally disabling formatting.
Public methodSetAttributeValueSets the value of an attribute, adds an attribute, or removes an attribute.
Public methodSetElementValueSets the value of a child element, adds a child element, or removes a child element.
Public methodSetValueSets the value of this element.
Public methodToString()Returns the indented XML for this node. (Inherited from XNode.)
Public methodToString(SaveOptions)Returns the XML for this node, optionally disabling formatting. (Inherited from XNode.)
Public methodWriteToWrite this element to an XmlWriter. (Overrides XNode.WriteTo(XmlWriter).)
Top

  NameDescription
Public eventChangedRaised when this XObject or any of its descendants have changed. (Inherited from XObject.)
Public eventChangingRaised when this XObject or any of its descendants are about to change. (Inherited from XObject.)
Top

  NameDescription
Public operatorStatic memberExplicit(XElement to Nullable<UInt32>)Cast the value of this XElement to a Nullable<T> of UInt32.
Public operatorStatic memberExplicit(XElement to Nullable<UInt64>)Cast the value of this XElement to a Nullable<T> of UInt64.
Public operatorStatic memberExplicit(XElement to Nullable<Single>)Cast the value of this XElement to a Nullable<T> of Single.
Public operatorStatic memberExplicit(XElement to Nullable<TimeSpan>)Cast the value of this XElement to a Nullable<T> of TimeSpan.
Public operatorStatic memberExplicit(XElement to Single)Cast the value of this XElement to a Single.
Public operatorStatic memberExplicit(XElement to UInt32)Cast the value of this XElement to a UInt32.
Public operatorStatic memberExplicit(XElement to UInt64)Cast the value of this XElement to a UInt64.
Public operatorStatic memberExplicit(XElement to String)Cast the value of this XElement to a String.
Public operatorStatic memberExplicit(XElement to TimeSpan)Cast the value of this XElement to a TimeSpan.
Public operatorStatic memberExplicit(XElement to Nullable<Int64>)Cast the value of this XElement to a Nullable<T> of Int64.
Public operatorStatic memberExplicit(XElement to Boolean)Cast the value of this XElement to a Boolean.
Public operatorStatic memberExplicit(XElement to Guid)Cast the value of this XElement to a Guid.
Public operatorStatic memberExplicit(XElement to Int32)Cast the value of this XElement to an Int32.
Public operatorStatic memberExplicit(XElement to DateTime)Cast the value of this XElement to a DateTime.
Public operatorStatic memberExplicit(XElement to Double)Cast the value of this XElement to a Double.
Public operatorStatic memberExplicit(XElement to Decimal)Cast the value of this XElement to a Decimal.
Public operatorStatic memberExplicit(XElement to DateTimeOffset)Cast the value of this XAttribute to a DateTimeOffset.
Public operatorStatic memberExplicit(XElement to Int64)Cast the value of this XElement to an Int64.
Public operatorStatic memberExplicit(XElement to Nullable<Double>)Cast the value of this XElement to a Nullable<T> of Double.
Public operatorStatic memberExplicit(XElement to Nullable<Guid>)Cast the value of this XElement to a Nullable<T> of Guid.
Public operatorStatic memberExplicit(XElement to Nullable<DateTimeOffset>)Cast the value of this XElement to a Nullable<T> of DateTimeOffset.
Public operatorStatic memberExplicit(XElement to Nullable<Decimal>)Cast the value of this XElement to a Nullable<T> of Decimal.
Public operatorStatic memberExplicit(XElement to Nullable<Int32>)Cast the value of this XElement to a Nullable<T> of Int32.
Public operatorStatic memberExplicit(XElement to Nullable<Boolean>)Cast the value of this XElement to a Nullable<T> of Boolean.
Public operatorStatic memberExplicit(XElement to Nullable<DateTime>)Cast the value of this XElement to a Nullable<T> of DateTime.
Top

  NameDescription
Explicit interface implemetationPrivate methodIXmlLineInfo.HasLineInfoGets a value indicating whether or not this XObject has line information. (Inherited from XObject.)
Explicit interface implemetationPrivate propertyIXmlLineInfo.LineNumberGets the line number that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetationPrivate propertyIXmlLineInfo.LinePositionGets the line position that the underlying XmlReader reported for this XObject. (Inherited from XObject.)
Explicit interface implemetationPrivate methodIXmlSerializable.GetSchemaGets an XML schema definition that describes the XML representation of this object.
Explicit interface implemetationPrivate methodIXmlSerializable.ReadXmlGenerates an object from its XML representation.
Explicit interface implemetationPrivate methodIXmlSerializable.WriteXmlConverts an object into its XML representation.
Top

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 more information about the valid content of an XElement, see Valid Content of XElement and XDocument Objects in the .NET Framework documentation.

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 in the .NET Framework documentation.

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


StringBuilder output = new StringBuilder();
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
);
output.Append(xmlTree2 + Environment.NewLine);

OutputTextBlock.Text = output.ToString();


Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

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

Show:
© 2014 Microsoft