使用XMLConvert转换XML数据

ZDNet软件频道 时间:2004-03-30 作者:Builder.com |  我要评论()
本文关键词:
XML文件中的所有数据都是以字符串的形式保存。当我们要应用XML文件的时候,就经常需要把这些数据转换成其他更合适的类型。
本文译自Builder.com,未经许可请勿转载

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 对应的内容中找到更多的信息。



责任编辑:李宁

欢迎评论投稿

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