XmlReader.ReadElementContentAsDateTime Method

Definition

Reads the current element and returns the contents as a DateTime object.

Overloads

ReadElementContentAsDateTime()

Reads the current element and returns the contents as a DateTime object.

ReadElementContentAsDateTime(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a DateTime object.

ReadElementContentAsDateTime()

Reads the current element and returns the contents as a DateTime object.

public:
 virtual DateTime ReadElementContentAsDateTime();
public virtual DateTime ReadElementContentAsDateTime ();
abstract member ReadElementContentAsDateTime : unit -> DateTime
override this.ReadElementContentAsDateTime : unit -> DateTime
Public Overridable Function ReadElementContentAsDateTime () As DateTime

Returns

The element content as a DateTime object.

Exceptions

The XmlReader is not positioned on an element.

-or-

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

The current element contains child elements.

-or-

The element content cannot be converted to a DateTime object.

The method is called with null arguments.

Examples

The following example uses the ReadElementContentAsDateTime method to read the content of the date element.

using (XmlReader reader = XmlReader.Create("dataFile.xml")) {
     reader.ReadToFollowing("date");
     DateTime date = reader.ReadElementContentAsDateTime();
  
     // If the current culture is "en-US",
     // this writes "Wednesday, January 8, 2003".
     Console.WriteLine(date.ToLongDateString());
}
Using reader As XmlReader = XmlReader.Create("dataFile.xml")
  reader.ReadToFollowing("date")
  Dim [date] As DateTime = reader.ReadElementContentAsDateTime()
            
  ' If the current culture is "en-US",
  ' this writes "Wednesday, January 8, 2003".
  Console.WriteLine([date].ToLongDateString())
End Using

The example uses the dataFile.xml file as input.

<root>
  <stringValue>
     <!--comment-->
     <?some pi?>
      text value of the element.
  </stringValue>
  <longValue>270000000000001</longValue>
  <number>0</number>
  <double>2E10</double>
  <date>2003-01-08T15:00:00-00:00</date>
</root>

Remarks

This method reads the start tag, the contents of the element, and moves the reader past the end element tag. It expands entities and ignores processing instructions and comments. The element can only contain simple content. That is, it cannot have child elements.

If the content is typed xsd:dateTime, the reader returns an unboxed DateTime object. If the content is not typed xsd:dateTime, the reader attempts to convert it to a DateTime object according to the rules defined by the W3C XML Schema Part 2: Datatypes recommendation.

Note

You cannot rely on the DateTime.Year value when the content is typed as xsd:gMonthDay. XmlReader always sets the DateTime.Year value to 1904 in this case.

For more information, see the Remarks section of the XmlReader reference page.

Applies to

ReadElementContentAsDateTime(String, String)

Checks that the specified local name and namespace URI matches that of the current element, then reads the current element and returns the contents as a DateTime object.

public:
 virtual DateTime ReadElementContentAsDateTime(System::String ^ localName, System::String ^ namespaceURI);
public virtual DateTime ReadElementContentAsDateTime (string localName, string namespaceURI);
abstract member ReadElementContentAsDateTime : string * string -> DateTime
override this.ReadElementContentAsDateTime : string * string -> DateTime
Public Overridable Function ReadElementContentAsDateTime (localName As String, namespaceURI As String) As DateTime

Parameters

localName
String

The local name of the element.

namespaceURI
String

The namespace URI of the element.

Returns

The element contents as a DateTime object.

Exceptions

The XmlReader is not positioned on an element.

-or-

An XmlReader method was called before a previous asynchronous operation finished. In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

The current element contains child elements.

-or-

The element content cannot be converted to the requested type.

The method is called with null arguments.

The specified local name and namespace URI do not match that of the current element being read.

Remarks

This method reads the start tag, the contents of the element, and moves the reader past the end element tag. It expands entities and ignores processing instructions and comments. The element can only contain simple content. That is, it cannot have child elements.

If the content is typed xsd:dateTime, the reader returns an unboxed DateTime object. If the content is not typed xsd:dateTime, the reader attempts to convert it to a DateTime object according to the rules defined by the W3C XML Schema Part 2: Datatypes recommendation.

Note

You cannot rely on the DateTime.Year value when the content is typed as xsd:gMonthDay. XmlReader always sets the DateTime.Year value to 1904 in this case.

For more information, see the Remarks section of the XmlReader reference page.

Applies to