VB读写XML文档
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在VB中我们可以使用XML解释器来对XML文件进行各种操作.XML解释器被封装在一个名字叫做msxml.dll的动态连接库文件中,它是一个COM对象.因此所有可以兼容ActiveX的环境中都可以使用该方法操作XML文档. 我们用一个实例来说明. 首先,我们建立一个名字为test.xml的xml文件.内容如下: <作者信息> <网名>古铁神刀</网名> <性别>男</性别> <手机>13584517846</手机> <电话>0531-82296272</电话> <QQ>362880403</QQ> <个人主页>http://www.xyxtl.cn</个人主页> </作者信息> 新建一个标准EXE工程。选择"工程" - "引用",选取"Microsoft XML V2.0"或更高版本.这样我们就可以使用xml解释器了. 接下来在form中添加控件. 切换到代码视图,添加如下代码: Option Explicit Private p_AppPath As String '当前目录路径 Private Sub Form_Load() '得到当前目录 p_AppPath = App.Path If Right(p_AppPath, 1) <> "/" And Right(p_AppPath, 1) <> "" Then p_AppPath = p_AppPath & "/" End If End Sub 分别双击载入、保存、退出系统,添加代码: Private Sub cmdLoad_Click() '载入文件内容 loadValues End Sub Private Sub cmdSave_Click() '保存当前内容 saveValues End Sub Private Sub cmdQuit_Click() Unload Me End Sub 现在我们编写过程实现文件的读入和写出: Private Sub loadValues()
Dim xml_document As DOMDocument Dim values_node As IXMLDOMNode '载入文件 Set xml_document = New DOMDocument MsgBox p_AppPath & "test.xml" xml_document.Load p_AppPath & "test.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, "性别", "???") txtHand.Text = GetNodeValue(values_node, "手机", "???") txtTel.Text = GetNodeValue(values_node, "电话", "???") txtQQ.Text = GetNodeValue(values_node, "QQ", "???") txtPage.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, "手机", txtHand.Text CreateNode values_node, "电话", txtTel.Text CreateNode values_node, "QQ", txtQQ.Text CreateNode values_node, "个人主页", txtPage.Text '保存XML文件 xml_document.save p_AppPath & "test.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 最后运行程序,看一下效果 该文章在 2012/7/9 0:43:28 编辑过
|
关键字查询
相关文章
正在查询... |