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

devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist