XElement Explicit Conversion (XElement to Nullable<DateTime>)

Cast the value of this XElement to a Nullable<T> of DateTime.

This API is not CLS-compliant. 

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

public static explicit operator Nullable<DateTime> (
	XElement element


Type: System.Xml.Linq.XElement
The XElement to cast to Nullable<T> of DateTime.

Return Value

Type: System.Nullable<DateTime>
A Nullable<T> of DateTime that contains the content of this XElement.


The element does not contain a valid DateTime value.

The value space of an attribute or element that contains date and time content is closely related to the dates and times described in ISO 8601. When creating an attribute or element that contains date and time content, the attribute or element values are formatted per the W3C specification. See the W3C specification for more details.

Behavior is lax when casting to a Nullable<T> of DateTime from an attribute or element. Even if the attribute or element value is not formatted exactly per the W3C specification, the value is appropriately converted to a Nullable<T> of DateTime.

This conversion operator uses CultureInfo.InvariantCulture to convert from a DateTime.

The following example creates an element with a date and time as content. It then retrieves the value by casting to Nullable<T> of DateTime.

XElement root = new XElement("Root",
    new XElement("Value", new DateTime(2006, 10, 6, 12, 30, 0))
DateTime? value = (DateTime?)root.Element("Value");
Console.WriteLine("Nullable DateTime: value={0}", value == null ? "null" : value.ToString());

This example produces the following output:

Nullable DateTime: value=10/6/2006 12:30:00 PM

.NET Framework

Supported in: 4, 3.5

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft