遍历 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 运行。你会看到如下画面。

vb 2005 iterate xml nodes

提示

用 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 。


编者或作者:    收录日期: 2007-04-28
参考或来源:

上一页: 用程序生成 XML 文件 返回上级目录: VB 2005 代码示例 下一页: 绑定 XML 与 TreeView


© 2008 woyouxian.net 版权所有 Contact Us