Mapping XML Data Types to CLR Types
The following table describes the default mapping between the XML data types and the common language runtime (CLR) types.
Note
The xs
and the xdt
prefixes are mapped to the https://www.w3.org/2001/XMLSchema and the https://www.w3.org/2003/05/xpath-datatypes namespace URIs respectively.
XML Type | CLR Type |
---|---|
xs:anyURI |
Uri |
xs:base64Binary |
Byte[] |
xs:boolean |
Boolean |
xs:byte |
SByte |
xs:date |
DateTime |
xs:dateTime |
DateTime |
xs:decimal |
Decimal |
xs:double |
Double |
xs:duration |
TimeSpan |
xs:ENTITIES |
String[] |
xs:ENTITY |
String |
xs:float |
Single |
xs:gDay |
DateTime |
xs:gMonthDay |
DateTime |
xs:gYear |
DateTime |
xs:gYearMonth |
DateTime |
xs:hexBinary |
Byte[] |
xs:ID |
String |
xs:IDREF |
String |
xs:IDREFS |
String[] |
xs:int |
Int32 |
xs:integer |
Decimal |
xs:language |
String |
xs:long |
Int64 |
xs:gMonth |
DateTime |
xs:Name |
String |
xs:NCName |
String |
xs:negativeInteger |
Decimal |
xs:NMTOKEN |
String |
xs:NMTOKENS |
String[] |
xs:nonNegativeInteger |
Decimal |
xs:nonPositiveInteger |
Decimal |
xs:normalizedString |
String |
xs:NOTATION |
XmlQualifiedName |
xs:positiveInteger |
Decimal |
xs:QName |
XmlQualifiedName |
xs:short |
Int16 |
xs:string |
String |
xs:time |
DateTime |
xs:token |
String |
xs:unsignedByte |
Byte |
xs:unsignedInt |
UInt32 |
xs:unsignedLong |
UInt64 |
xs:unsignedShort |
UInt16 |
xdt:dayTimeDuration |
TimeSpan |
xdt:yearMonthDuration |
TimeSpan |
xdt:untypedAtomic |
String |
xdt:anyAtomicType |
Object |
xs:anySimpleType |
String |
Document node | XPathNavigator |
Element node | XPathNavigator |
Attribute node | XPathNavigator |
Namespace node | XPathNavigator |
Text node | XPathNavigator |
Comment node | XPathNavigator |
Processing instruction node | XPathNavigator |
See also
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.