工具搜索引擎 加入收藏
意见反馈
帮助中心
繁體中文
首页 工具超市 产品信息 资讯中心 工具黄页 站长工具 实用工具 会员管理 联系我们  
广告投放
您当前的位置:工具网站长书库> vb2005教程

遍历 XML 文件所有节点的实例代码

这个示例演示如何载入一个 XML 文件,然后遍历该 XML 文件的所有节点,并用 Textbox 显示该 XML 文件每个节点第一个属性的值。

准备一个 XML 文件

准备一个 XML 文件,内容如下,将其存为 C:\menu.xml。

<?xml version="1.0" encoding="UTF-8"?>
<menu name ="1">
 <menu name ="1.1"/>
 <menu name ="1.2">
  <menu name ="1.2.1"/>
  <menu name ="1.2.2"/>
  <menu name ="1.2.3">
   <menu name ="1.2.3.1"/>
   <menu name ="1.2.3.2"/>
   <menu name ="1.2.3.3"/>
  </menu>
  <menu name ="1.2.4"/>
 </menu>
 <menu name ="1.3">
  <menu name ="1.3.1"/>
  <menu name ="1.3.2"/>
 </menu>
 <menu name ="1.4"/>
 <menu name ="1.5"/>
</menu> 

创建项目 (Project) 和添加控件

打开 Visual Studio 2005。在文件 (File) 菜单上,单击新建项目 (New Project)。 在新建项目 (New Project) 对话框的模板 (Templates) 窗格中,单击 Windows 应用程序 (Windows Application)。在名称 (Name) 框中键入 IterateNodes,再单击确定 (OK)。

在 Toolbox 里选中 Button 控件,将其拖到 Form1 上。在 Properties 窗口将该 Button 的 Name 属性改为 btnIterate,将其 Text 属性改为 Iterate Xml Nodes。

在 Toolbox 里选中 TextBox 控件,将其拖到 Form1 上。在 Properties 窗口将该 TextBox 的 Name 属性改为 txtContent,将其 Multiline 属性改为 True。

加入代码

双击 Iterate Xml Nodes 的 Button,进入代码编辑窗口。添加代码,使其如下:

Imports System.Xml
 
Public Class Form1
 
    Private Sub btnIterate_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles btnIterate.Click
        Dim xmlDoc As New Xml.XmlDocument
 
        xmlDoc.Load("C:\menu.xml")
        IterateXmlNodes(xmlDoc.DocumentElement)
   
    End Sub
 
 
    Private Sub IterateXmlNodes(ByVal father As Xml.XmlNode)
        Dim child As Xml.XmlNode
 
        Me.txtContent.Text &= father.Attributes(0).Value & vbNewLine
        For Each child In father.ChildNodes
            IterateXmlNodes(child)
        Next
 
    End Sub
 
End Class

选择调试 (Debug) 菜单中的开始调试 (Start Debugging),运行该程序。或者直接按快捷键 F5 运行。你会看到如下画面。

提示

用 XmlDocument.Load 这个方法,可以载入某个 XML 文件。

用 XmlDocument.DocumentElement 这个属性,可以得到 XML 文件的根节点。

用 XmlNode.ChildNodes 这个属性得到某个 XML 节点的所有子节点。每个子节点也是一个 XmlNode。

用 XmlNode.Attributes(integer).Value 这个属性,可以得到 XML 节点的某一个属性值。Attributes 括号里的值表示是该节点的第几个属性,Attributes(0) 表示该节点的第一个属性,Attributes(1) 表示该节点的第二个属性,Attributes(3) 表示该节点的第三个属性,依次类推。

For Each... Next 语句遍历所有 XML 节点。

该实例用了递归算法进行遍历,在 IterateXmlNodes 过程里调用了 IterateXmlNodes 。

作者:woyouxian[at]gmail[点]com

时间:2006-12-20

返回上级目录
VB 2005 入门教程
安装 VB 2005
一个简单的 VB 2005 程序
什么是编程语言
什么是变量
数据类型概要

数据类型 - 整数和浮点数
数据类型 - 字符串
数据类型 - 日期
过程 - 子例程和函数
If...Then...Else 条件语句
Select...Case 条件语句
For...Next 循环语句