您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
VB和VB.NET中的XML操作
[文章信息]
作者:洪万福
时间:2003-08-20
出处:微软社区
责任编辑:方舟
[文章导读]
本文为计划将应用程序更新到VB.NET的VB开发用户提供一些关于XML的建议
advertisement
热点推荐
· 天极网软件频道改版调查
· 在ASP.NET程序中创建唯一序号
· 用JVM工具接口创建调试和分析代理
· Win 2000如何安装配置防火墙
· 防范Windows消息钩子的侵入
[正文]

上一页  1 2 3 4 5  下一页

  熟悉了如何用Visual Basic 6创建XML文件,接下来,我们将编写一个程序,使得程序开始运行时,程序从XML文件中加载数据,在程序运行结束时,将程序中的现行值存入XML文件中。

  首先,建立一个名叫Personal.xml的文件:

<?xml version="1.0" encoding="GB2312"?>

<个人信息>

<姓名>洪万福</姓名>

<性别>男</性别>

<出生日期>1983年x月x日</出生日期>

<地址>福建省厦门市集美大学水产学院新区270#</地址>

<邮编>361021</邮编>

<QQ>24948251</QQ>

<个人主页>http://hongwanfu.126.com</个人主页>

</个人信息>

  其中,encoding="GB2312"是为了防止显示中文时出现乱码。

  接着,进入Visual Basic 6,建立7个Label和7个TextBox, 具体如图:



  随后,编写如下代码:

Option Explicit
Private p_AppPath As String
Private Sub Form_Load()
 ' 获得程序运行目录
 p_AppPath = App.Path
 If Right$(p_AppPath, 1) <> "\" Then p_AppPath = p_AppPath & "\"
 ' 加载值
 LoadValues
End Sub

Private Sub Form_Unload(Cancel As Integer)
 ' 保存现有的值
 SaveValues
End Sub

Private Sub LoadValues()

 Dim xml_document As DOMDocument

 Dim values_node As IXMLDOMNode

 ' 载入文件

 Set xml_document = New DOMDocument
 xml_document.Load p_AppPath & "Personal.xml"
 If xml_document.documentElement Is Nothing Then

  Exit Sub

 End If

 '寻找节点
 Set values_node = xml_document.selectSingleNode("个人信息")
 ' 读取各个节点的值
 txtName.Text = GetNodeValue(values_node, "姓名", "???")
 txtSex.Text = GetNodeValue(values_node, "性别", "???")
 txtBirthday.Text = GetNodeValue(values_node, "出生日期", "???")
 txtAddress.Text = GetNodeValue(values_node, "地址", "???")
 txtZip.Text = GetNodeValue(values_node, "邮编", "???")
 txtQQ.Text = GetNodeValue(values_node, "QQ", "???")
 txtHomepage.Text = GetNodeValue(values_node, "个人主页", "???")

End Sub

' 返回各个节点的值

Private Function GetNodeValue(ByVal start_at_node As IXMLDOMNode, ByVal node_name As String, _

Optional ByVal default_value As String = "") As String

 Dim value_node As IXMLDOMNode
 Set value_node = start_at_node.selectSingleNode(".//" & node_name)
 If value_node Is Nothing Then
  GetNodeValue = default_value
 Else
  GetNodeValue = value_node.Text
 End If

End Function

' 保存现有的值

Private Sub SaveValues()
 Dim xml_document As DOMDocument
 Dim values_node As IXMLDOMNode
 ' 建立XML文件
 Set xml_document = New DOMDocument
 Set values_node = xml_document.createElement("个人信息")
 xml_document.appendChild values_node
 CreateNode values_node, "姓名", txtName.Text
 CreateNode values_node, "性别", txtSex.Text
 CreateNode values_node, "出生日期", txtBirthday.Text
 CreateNode values_node, "地址", txtAddress.Text
 CreateNode values_node, "邮编", txtZip.Text
 CreateNode values_node, "QQ", txtQQ.Text
 CreateNode values_node, "个人主页", txtHomepage.Text
 ' 保存XML文件
 xml_document.save p_AppPath & "Personal.xml"
 
End Sub

Private Sub CreateNode(ByVal parent As IXMLDOMNode, _

ByVal node_name As String, ByVal node_value As String)

 Dim new_node As IXMLDOMNode
 Set new_node = parent.ownerDocument.createElement(node_name)
 new_node.Text = node_value
 parent.appendChild new_node
End Sub

  运行结果如下:



  虽然,MSXML提供了从Visual Basic6.0加载和存储XML文档的工具,但是,对其的应用要求程序员对VB和MSXML的COM接口有一定的认识,所以,并不是得到很广泛的应用。


上一页  1 2 3 4 5  下一页

·"WAP天极之IT新闻资讯,50万元等你拿"    ·天极WAP之游戏狂图,50万元等你下载


发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容阅读排行榜
  • 用VB.NET实现你的游戏梦想
  • VB.NET打造个性化安全防护软件
  • Visual Basic.NET编程的设计思考
  • VB.NET启动并监测外部程序
  • 主板超频特色技术GIGA技嘉篇
  • Win 2000如何安装配置防火墙
  • 防范Windows消息钩子的侵入
  • 性价比之选 AGP显卡的告别秀
  • 大学校园生活之聊天也疯狂
  • Fireworks制作GIF动画Banner
  • 金山打击外挂 遭网络游戏玩家起诉
  • 完全公测《开天》掀起滔滔巨浪
  • Advertisement