熟悉了如何用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接口有一定的认识,所以,并不是得到很广泛的应用。转载保留:http://www.qqread.com/vbdotnet/i052217000.html
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- .NET移动与嵌入式技术 (5974篇文章)
- .NET开发手册 (5673篇文章)
- XML详解 (1550篇文章)
- .NET基础介绍 (718篇文章)
- vb.net GDI+入门——使用DrawString显示文本 (0次浏览)
- VB2005中开发新一代控制台应用程序(1) (0次浏览)
- VB2005中开发新一代控制台应用程序(2) (0次浏览)
- VB2005中开发新一代控制台应用程序(3) (0次浏览)
- vb.net使用ListView 控件显示系统驱动器 (0次浏览)
- vb.net入门——ListView 控件的使用 (0次浏览)
- vb.net GDI+入门——使用Graphics对象填充图形 (0次浏览)
- .Net中ListView控件多选时复选框自动选择问题 (0次浏览)
- vb.net GDI+入门——使用Graphics对象绘制线图 (0次浏览)
- vb.net GDI+入门——了解Font类 (0次浏览)



