对XML数据使用XMLConvert

ZDNet软件频道 时间:2003-11-03 作者:ZDNet China |  我要评论()
本文关键词:xmltips
XML文件中的所有数据都以字符串来存储。当一个程序载入XML文件时,通常需要将数据转换为更加适合程序的类型。VB.NET提供了XMLConvert类来协助这项工作,将XML转换成强类型的.NET数据。
本文译自Builder.com,未经许可请勿转载

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的信息。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134