XmlReader.ReadElementContentAs Method (Type, IXmlNamespaceResolver)

Reads the element content as the requested type.

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

Syntax

'Declaration
Public Overridable Function ReadElementContentAs ( _
    returnType As Type, _
    namespaceResolver As IXmlNamespaceResolver _
) As Object
public virtual Object ReadElementContentAs(
    Type returnType,
    IXmlNamespaceResolver namespaceResolver
)

Parameters

  • returnType
    Type: System.Type
    The type of the value to be returned.
    Note    With the release of the .NET Framework 3.5, the value of the returnType parameter can now be the DateTimeOffset type.

Return Value

Type: System.Object
The element content converted to the requested typed object.

Exceptions

Exception Condition
InvalidOperationException

The XmlReader is not positioned on an element.

XmlException

The current element contains child elements.

-or-

The element content cannot be converted to the requested type.

ArgumentNullException

The method is called with nulla null reference (Nothing in Visual Basic) arguments.

OverflowException

Read Decimal.MaxValue.

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.

Examples

Dim output As New StringBuilder()

Dim xmlString As String = _
            "<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>"

Using reader As XmlReader = XmlReader.Create(New StringReader(xmlString))

    reader.ReadToFollowing("date")
    Dim [date] As DateTime = CType(reader.ReadElementContentAs(GetType(System.DateTime), Nothing), DateTime)

    ' If the current culture is "en-US",
    ' this writes "Wednesday, January 8, 2003".
    output.AppendLine([date].ToLongDateString())

    OutputTextBlock.Text = output.ToString()
End Using

StringBuilder output = new StringBuilder();

String xmlString =
    @"<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>";

using (XmlReader reader = XmlReader.Create(new StringReader(xmlString)))
{
    reader.ReadToFollowing("date");
    DateTime date = (DateTime)reader.ReadElementContentAs(typeof(System.DateTime), null);

    // If the current culture is "en-US",
    // this writes "Wednesday, January 8, 2003".
    output.AppendLine(date.ToLongDateString());

}

OutputTextBlock.Text = output.ToString();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.