XmlReader.ReadElementContentAs Method (Type, IXmlNamespaceResolver)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
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.
- namespaceResolver
Type: System.Xml.IXmlNamespaceResolver
An IXmlNamespaceResolver object that is used to resolve any namespace prefixes related to type conversion.
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.
See Also