专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VB Dotnet

读取xml文件,画树如何实现

发布时间:2011-06-23 15:55:03 文章来源:www.iduyao.cn 采编人员:星星草
读取xml文件,画树怎么实现
有这样一段xml
<NewDataSet>
        <Diff>
        <Caption> 父节点 </Caption>
        <Type> 子节点1 </Type>
    </Diff>
        <Diff>
        <Caption> 父节点 </Caption>
        <Type> 子节点2 </Type>
    </Diff>
</NewDataSet>
怎样根据有上面的xml文件得到下面的树呢
父节点
    子节点1  
    子节点2


------解决方案--------------------
' 这段代码未经过测试
' 需要在窗体中加入一个TreeView

Imports System.Xml

Public Class Form1

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim xd As New XmlDocument
xd.LoadXml( "D:\b.xml ") ' 将XML存如 "D:\b.xml ",在这里读取XML文档
Dim xmlNodes As XmlNodeList = xd.GetElementsByTagName( "Diff ") ' 遍历Diff元素
Dim xmlNode As XmlNode
For Each xmlNode In xmlNodes ' 针对每个Diff元素处理
Dim tvNodes As TreeNodeCollection = TreeView1.Nodes ' 遍历TreeView1的根节点
Dim tvNode As TreeNode
Dim tn As New TreeNode ' 新建一个节点
tn.Text = xmlNode.ChildNodes(0).ToString()
For Each tvNode In tvNodes ' 针对每个TreeView1的根节点处理
If tvNode.Text = tn.Text Then ' 如果新建的节点和已有的根节点重复了,
Dim tnc As New TreeNode ' 则直接将新建的子节点加到已有的根节点下
tnc.Text = xmlNode.ChildNodes(1).ToString()
tvNode.Nodes.Add(tnc)
Exit For
Else
TreeView1.Nodes.Add(tn) ' 若还没有这个根节点,则先加入新建的根节点
Dim tnc As New TreeNode ' 然后再加入新建的子节点
tnc.Text = xmlNode.ChildNodes(1).ToString()
tn.Nodes.Add(tnc)
End If
Next
Next
End Sub
End Class
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: