XML文件中的所有数据都是以字符串的形式保存。当我们要应用XML文件的时候,就经常需要把这些数据转换成其他更合适的类型。
例如,如果在XML文档中存储着订货的发货日期,但是当应用这个文件的时候就需要将表现为字符串型的数据转换为DateTime对象处理。VB.NET就提供了XMLConvert这样一个类来帮助将XML转换成强类型检查的.NET数据。
XMLConvert位于命名空间System.XML中,它的所有方法和属性都是共享的,所以我们不用创建这个类的实例就能访问它。它包括了将XML字符串转换成日期类型、双精度浮点型、整型、布尔型以及其他数据类型的方法。
下面给出一段XML文档,我们将为你展示怎样使用XMLConvert这个类将XML数据转换成其他类型数据:
<?xml version="1.0" encoding="utf-8"
?>
<Data>
<String>Test</String>
<Integer>123</Integer>
<Double>1234.56</Double>
<Date>2003-01-01/</Date>
</Data>
下面这段代码就是用来在C:Temp的目录下寻找名为Convert.xml的XML文件,并将其转换类型。
Dim xmlDoc As New System.Xml.XmlDocument()
xmlDoc.Load("c: empConvert.xml")
Dim newString As String
newString = xmlDoc.SelectSingleNode("//String").InnerText
Debug.WriteLine(newString)
Dim newInteger As Integer
newInteger = System.Xml.XmlConvert.ToInt32( _
xmlDoc.SelectSingleNode("//Integer").InnerText)
Debug.WriteLine(newInteger)
Dim newDouble As Double
newDouble = System.Xml.XmlConvert.ToDouble( _
xmlDoc.SelectSingleNode("//Double").InnerText)
Debug.WriteLine(newDouble)
Dim newDate As DateTime
newDate = System.Xml.XmlConvert.ToDateTime( _
xmlDoc.SelectSingleNode("//Date").InnerText)
Debug.WriteLine(newDate)
所有的转换方法都是基于XML模式语言定义的数据类型。所以转换XML数据的时候必须遵循XML模式语言标准。你可以在XML模式类型和MSDS Library中.NET 对应的内容中找到更多的信息。