遍历 XML 文件所有节点的实例代码
- 格式:docx
- 大小:24.72 KB
- 文档页数:3
遍历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 。