1

I have the following problem that I can not solve, I'm trying to create a treeview view based on data contained in the following xml:

<folder id="1" name="folder1" />
<folder id="2" name="folder2" />
<folder id="3" name="folder3" />
<folder id="4" name="folder4" />
<folder id="5" name="folder5" />
<folder id="6" name="folder6" parent_id="2"/>
<folder id="7" name="folder7" parent_id="3"/>
<folder id="8" name="folder8" parent_id="6"/>
<folder id="9" name="folder9" parent_id="5"/>

the code I used was :

public void Folder()
        {

            XmlDocument dom = new XmlDocument();
            XmlNodeList xmlnode;
            dom.Load(xmlPath);
            xmlnode = dom.GetElementsByTagName("folder");

            string FolderName;
            int? ParentFolder;
            int FolderID;
            string _subnode;
            treeView2.Nodes.Clear();

            foreach(XmlNode node in xmlnode)
            {
                FolderName = GetAttributeText(node, "name");
                FolderID = Int32.Parse(GetAttributeText(node,"id"));
                ParentFolder = ParseNullableInt(GetAttributeText(node, "parent_id"));

                TreeNode subnode = new TreeNode(FolderName);
                TreeNode treeNode = new TreeNode(FolderName);

                if (ParentFolder.HasValue)
                {


                    treeView2.Nodes[(int)ParentFolder].Nodes.Add("Cartelle", FolderName);



                }
                else
                {

                    treeView2.Nodes.Add(treeNode);


                }

the problem is that if a child is a child of a knot I am found to be mistaken, and I do not risk creating a child-child

Daniel A. White
  • 181,601
  • 45
  • 354
  • 430
koss
  • 47
  • 6
  • 1
    I often refer people to following recursive method : https://stackoverflow.com/questions/28976601/recursion-parsing-xml-file-with-attributes-into-treeview-c-sharp – jdweng Jan 14 '19 at 13:50

0 Answers0