Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
share Thinking ...
share Thinking ...
  • I am an engineer in computer science. Software building is one of my first passions. I have a little more than 3 professional experience years....I won't let you discover all about me now, let's share here a while, maybe i will provide the help you need.
  • Accueil du blog
  • Créer un blog avec CanalBlog
Publicité
share Thinking ...
12 février 2008

bout de code pour charger une arborescence pliante/dépliante representant du contenu XML

Voici un bout de code que je partage avec vous, une fonction qui à partir d'un document xml (xmldocument) charge une treeview correspondant:

la fonction principale de chargement du xmldocument

    

    private void loadTreeview(XmlDocument dom)
        {
            try
            {

                //ici se trouve notre objet treeview
                treeViewConfig.Nodes.Clear();
                treeViewConfig.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
                TreeNode tNode = new TreeNode();
                tNode = treeViewConfig.Nodes[0];

               

                mytools.AddNode(dom.DocumentElement, tNode);
                treeViewConfig.ExpandAll();

            }

             catch (Exception ex)
            {

            }
        }



la fonction AddNode que voici qui est utilisée de façon récursive par la première méthode

   

  public static void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
        {
            XmlNode xNode;
            TreeNode tNode;
            XmlNodeList nodeList;
            int i;

            // Loop through the XML nodes until the leaf is reached.
            // Add the nodes to the TreeView during the looping process.
            if (inXmlNode.HasChildNodes)
            {
                nodeList = inXmlNode.ChildNodes;
                for (i = 0; i <= nodeList.Count - 1; i++)
                {
                    xNode = inXmlNode.ChildNodes[i];
                    inTreeNode.ChildNodes.Add(GetTreeNodeValue(xNode));
                    tNode = inTreeNode.ChildNodes[i];
                    tNode.NavigateUrl = "javascript:void(0)";
                    AddNode(xNode, tNode);
                }
            }
            else
            {
                   inTreeNode.Text = GetTreeNodeValue(inXmlNode).Text;


               
               
         

            }
        }

Publicité
Publicité
Commentaires
Publicité