XmlReader.ReadElementContentAs Method (Type, IXmlNamespaceResolver)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Reads the element content as the requested type.
Assembly: System.Xml (in System.Xml.dll)
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.
| 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 null arguments. |
| OverflowException | Read Decimal.MaxValue. |
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();
Show: