devxlogo

DisplayXmlFile – loading a XML file in a TreeView

DisplayXmlFile – loading a XML file in a TreeView

' Display a XML file in a TreeView' Note: requires Imports System.Xml' Example: DisplayXmlFile("employees.xml", TreeView1)Sub DisplayXmlFile(ByVal filename As String, ByVal tvw As TreeView)    Dim xmldoc As New XmlDocument()    xmldoc.Load(filename)    ' Add it to the TreeView Nodes collection    DisplayXmlNode(xmldoc, tvw.Nodes)    ' Expand the root node.    tvw.Nodes(0).Expand()End SubSub DisplayXmlNode(ByVal xmlnode As XmlNode, ByVal nodes As TreeNodeCollection)    ' Add a TreeView node for this XmlNode.    ' (Using the node's Name is OK for most XmlNode types.)    Dim tvNode As TreeNode = nodes.Add(xmlnode.Name)    Select Case xmlnode.NodeType        Case XmlNodeType.Element            ' This is an element: Check whether there are attributes.            If xmlnode.Attributes.Count > 0 Then                ' Create an ATTRIBUTES node.                Dim attrNode As TreeNode = tvNode.Nodes.Add("(ATTRIBUTES)")                ' Add all the attributes as children of the new node.                Dim xmlAttr As XmlAttribute                For Each xmlAttr In xmlnode.Attributes                    ' Each node shows name and value.                    attrNode.Nodes.Add(xmlAttr.Name & " = '" & xmlAttr.Value & _                        "'")                Next            End If        Case XmlNodeType.Text, XmlNodeType.CDATA            ' For these node types we display the value            tvNode.Text = xmlnode.Value        Case XmlNodeType.Comment            tvNode.Text = ""        Case XmlNodeType.ProcessingInstruction, XmlNodeType.XmlDeclaration            tvNode.Text = ""        Case Else            ' ignore other node types.    End Select    ' Call this routine recursively for each child node.    Dim xmlChild As XmlNode = xmlnode.FirstChild    Do Until xmlChild Is Nothing        DisplayXmlNode(xmlChild, tvNode.Nodes)        xmlChild = xmlChild.NextSibling    LoopEnd Sub' Note: This code is taken from Francesco Balena's' "Programming Microsoft Visual Basic .NET" - MS Press 2002, ISBN 0735613753' You can read a free chapter of the book at ' http://www.vb2themax.com/HtmlDoc.asp?Table=Books&ID=101000

devx-admin

Share the Post: