XML文件中的所有數據都以字符串來存儲。當一個程序載入XML文件時,通常需要將數據轉換為更加適合程序的類型。
例如,假設訂單裝運日期存在一個XML文件裡,則使用該文件的程序需要將字符串表示的數據轉換為一個DateTime對象。VB.NET提供了XMLConvert類來協助這項工作,將XML轉換成強類型的.Net數據。
XMLConvert位於System.XML命名空間中。其所有的方法和屬性都是共享的,因此不用將其實例化就可以訪問他們。它包括了將XML字符串轉換成日期、雙精度、布爾值等其它數據類型的方法。
拿下面這個XML文件為例,我們會演示如何使用XMLConvert類來進行類型轉換:
<?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 Schema所定義的數據類型。所轉換的XML數據必須與XML Schema標准一致。你可以在MSDN Library中找到更多的有關XML Schema類型和.Net的信息。