欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对XML数据使用XMLConvert

程序员文章站 2022-03-22 08:17:05
xml文件中的所有数据都以字符串来存储。当一个程序载入xml文件时,通常需要将数据转换为更加适合程序的类型。例如,假设订单装运日期存在一个xml文件里,则使用该文件的程序需...

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:\temp\convert.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的信息。