zoukankan      html  css  js  c++  java
  • xml-treeview转换

    XML——>treeciew

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Windows.Forms;
    using System.Xml;
    
    
    namespace TreeExXML
    {
        class TreeExXMLCls
        {
            private TreeView thetreeview;
            private string xmlfilepath;
            XmlDocument textdoc;
    
            public TreeExXMLCls()
            {
                //----构造函数
                textdoc = new XmlDocument();
    
            }
    
            ~TreeExXMLCls()
            {
                //----析构函数
    
            }
    
            #region 遍历XML并实现向tree的转化
            /// <summary>   
            /// 遍历treeview并实现向XML的转化
            /// </summary>   
            /// <param name="XMLFilePath">XML输出路径</param>   
            /// <param name="TheTreeView">树控件对象</param>   
            /// <returns>0表示函数顺利执行</returns>   
    
            public int XMLToTree(string XMLFilePath, TreeView TheTreeView)
            {
                //-------重新初始化转换环境变量
                thetreeview = TheTreeView;
                xmlfilepath = XMLFilePath;
    
                //-------重新对XMLDocument对象赋值
                textdoc.Load(xmlfilepath);
    
                XmlNode root = textdoc.SelectSingleNode("Sinumerik");
    
                TreeNode bootTreeNode = new TreeNode();
                bootTreeNode.Text = "Sinumerik";
                thetreeview.Nodes.Add(bootTreeNode);
    
                foreach (XmlNode subXmlnod in root.ChildNodes)
                {
                    //TreeNode trerotnod = new TreeNode();
                    TreeNode treeNode = new TreeNode();
    
                    XmlElement element = (XmlElement)subXmlnod;
                    treeNode.Text = element .GetAttribute ("Title");
                    treeNode.ToolTipText = element.GetAttribute("Description");
    
                    bootTreeNode.Nodes.Add(treeNode );
    
                    //xml三层结构---从外到内
                    TransXML(subXmlnod.ChildNodes, treeNode);
    
                }
    
                return 0;
            }
    
            private int TransXML(XmlNodeList Xmlnodes, TreeNode partrenod)
            {
                //------遍历XML中的所有节点,仿照treeview节点遍历函数
                foreach (XmlNode xmlnod in Xmlnodes)
                {
                    TreeNode subtreeNode = new TreeNode();
    
                    XmlElement element = (XmlElement)xmlnod ;
                    subtreeNode.Text = element.GetAttribute("Title");
                    subtreeNode.ToolTipText = element.GetAttribute("Description");
                    subtreeNode.Tag = element.GetAttribute("nodeClass");
    
                    partrenod.Nodes.Add(subtreeNode);
    
                    if (xmlnod.ChildNodes.Count > 0)
                    {
                        TransXML(xmlnod.ChildNodes, subtreeNode);
                    }
                }
    
                return 0;
    
            }
    
    
            #endregion
    
    
        }
    }

  • 相关阅读:
    css点滴3—5种方式实现圆环
    css点滴2—六种方式实现元素水平居中
    css点滴1—八种方式实现元素垂直居中
    当我们在讨论CQRS时,我们在讨论些神马?
    CSDN屏蔽广告
    手撸一套纯粹的CQRS实现
    【转】CAP 定理的含义
    【转】浅谈命令查询职责分离(CQRS)模式
    Castle DynamicProxy基本用法(AOP)
    【转】面向对象设计的SOLID原则
  • 原文地址:https://www.cnblogs.com/janghe/p/7568507.html
Copyright © 2011-2022 走看看