populating a treeview from a xml source

Posted on 2009-04-06
Last Modified: 2013-11-08
I am really very new to I have a code below that I am using to populate a treeview.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load


            ' SECTION 1. Create a DOM Document and load the XML data into it.

            Dim dom As New System.Xml.XmlDocument


            ' SECTION 2. Initialize the treeview control.


            TreeView1.Nodes.Add(New TreeNode(dom.DocumentElement.Name))

            Dim tNode As New TreeNode()

            tNode = TreeView1.Nodes(0)

            ' SECTION 3. Populate the TreeView with the DOM nodes.

            AddNode(dom.DocumentElement, tNode)

            ' SECTION 4. Create a new TreeView Node with only the child nodes.

            Dim nodelist As System.Xml.XmlNodeList = dom.SelectNodes("//child")

            Dim cDom As New System.Xml.XmlDocument()


            Dim node As System.Xml.XmlNode

            For Each node In nodelist

                Dim newElem As System.Xml.XmlNode = cDom.CreateNode(System.Xml.XmlNodeType.Element, node.Name, node.LocalName)

                newElem.InnerText = node.InnerText



            TreeView1.Nodes.Add(New TreeNode(cDom.DocumentElement.Name))

            tNode = TreeView1.Nodes(1)

            AddNode(cDom.DocumentElement, tNode)


        Catch xmlEx As System.Xml.XmlException


        Catch ex As Exception


        End Try

    End Sub

    Private Sub AddNode(ByRef inXmlNode As System.Xml.XmlNode, ByRef inTreeNode As TreeNode)

        Dim xNode As System.Xml.XmlNode

        Dim tNode As TreeNode

        Dim nodeList As System.Xml.XmlNodeList

        Dim i As Long

        ' Loop through the XML nodes until the leaf is reached.

        ' Add the nodes to the TreeView during the looping process.

        If inXmlNode.HasChildNodes() Then

            nodeList = inXmlNode.ChildNodes

            For i = 0 To nodeList.Count - 1

                xNode = inXmlNode.ChildNodes(i)

                inTreeNode.ChildNodes.Add(New TreeNode(xNode.Name))

                tNode = inTreeNode.ChildNodes(i)

                AddNode(xNode, tNode)



            ' Here you need to pull the data from the XmlNode based on the

            ' type of node, whether attribute values are required, and so forth.

            inTreeNode.Text = (inXmlNode.OuterXml).Trim

        End If

    End Sub

Open in new window

Question by:Anthony Matovu
1 Comment
LVL 83

Accepted Solution

CodeCruiser earned 500 total points
ID: 24084842

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
What is Node.js? Node.js is a server side scripting language much like PHP or ASP but is used to implement the complete package of HTTP webserver and application framework. The difference is that Node.js’s execution engine is asynchronous and event…
Use Wufoo, an online form creation tool, to make powerful forms. Learn how to choose which pages of your form are visible to your users based on their inputs. The page rules feature provides you with an opportunity to create if:then statements for y…
Learn how to set-up PayPal payment integration in your Wufoo form. Allow your users to remit payment through PayPal upon completion of your online form. This is helpful for collecting membership payments, customer payments, donations, and more.

919 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now