zoukankan      html  css  js  c++  java
  • 递归加载Treelist树

    public partial class Form2 : Form
    {
      List<TreeNodeClass> tnclist;
      public Form2()
      {
        InitializeComponent();
        LoadXml();
      }

      void GetChildNode(XmlNodeList nodeList, List<TreeNodeClass> treeList, System.Guid parentID)
      {
        System.Guid curparentID = new Guid();
        foreach (XmlNode childNode in nodeList)
        {
          switch ((childNode).Name)
          {
            case "Neutral":
                  TreeNodeClass treeNode = new TreeNodeClass();
                     treeNode.ID = System.Guid.NewGuid();
                  treeNode.ParentID = parentID;
                  treeNode.NodeName = childNode.SelectSingleNode("Actor.Name").Attributes[0].Value;
                  treeList.Add(treeNode);
                  curparentID = treeNode.ID;
                  break;
             case "CLitAssyGroup":
                  GetChildNode(childNode.ChildNodes, treeList, curparentID);
                  break;
            case "CLitActorMesh":
                  GetChildNode(childNode.ChildNodes, treeList, curparentID);
                  break;
            default:
                  break;
          }
        }
      }

      void LoadXml()
      {
        tnclist = new List<TreeNodeClass>();
        XmlDocument doc = new XmlDocument();
        doc.Load(System.Environment.CurrentDirectory + @"SGS-SD.smgXml");
        XmlNodeList root = doc.SelectNodes("//Server[@Type="CLitServerModifiable"]/CLitAssyRoot/Neutral/Actor.Name");
        TreeNodeClass treeNode = new TreeNodeClass();
        treeNode.ID = System.Guid.NewGuid();
        treeNode.ParentID = System.Guid.NewGuid();
        treeNode.NodeName = root[0].Attributes["Value"].Value;
        tnclist.Add(treeNode);
        XmlNodeList nodelist = doc.SelectNodes("//Server[@Type="CLitServerModifiable"]/CLitAssyRoot/CLitAssyGroup");
        System.Guid curparentID = treeNode.ID;
        foreach (XmlNode node in nodelist)
        {
          GetChildNode(node.ChildNodes, tnclist, curparentID);
        }
        treeList2.DataSource = tnclist;
      }

    }

    public class TreeNodeClass
    {

      public System.Guid ID { get; set; }
      public System.Guid ParentID { get; set; }
      public string NodeName { get; set; }

    }

    You can reach me by surfing the web ---- huntjobs.cn,or sending e-mails to me,Here is my qq MailBox:1424870395@qq.com
  • 相关阅读:
    DOM attributes and properties
    SVN目录对号图标(更新、冲突)不显示
    GIS空间参考及坐标转换
    ArcGIS Engine开发之旅09--几何对象和空间参考
    ArcGIS Engine开发之旅08--和查询相关的对象和接口
    ArcGIS Engine开发之旅07---文件地理数据库、个人地理数据库和 ArcSDE 地理数据库中的栅格存储加以比较 、打开栅格数据
    ArcGIS Engine开发之旅05---空间数据库
    10.Action中的method属性
    11.使用ForwardAction实现页面屏蔽。
    9.初识拦截器
  • 原文地址:https://www.cnblogs.com/HedgehogBlog/p/3672668.html
Copyright © 2011-2022 走看看