zoukankan      html  css  js  c++  java
  • 利用TreeList加载XML文件

    第一次学习弄,也是上网看别人的思路,主要就是首先将XML读取到表里面,然后利用TreeList的两个属性:KeyFieldName和ParentFieldName两个属性的值,默认分别是ID,ParentID,二者的关系就是涉及到树形结构的层次关系。所创建的表中务必要包含二两个属性。下面上代码:
                DataTable dt = new DataTable();
                DataColumn did = new DataColumn("ID", Type.GetType("System.Int32"));
                DataColumn dParentID = new DataColumn("ParentID", Type.GetType("System.Int32"));
                DataColumn dNodeName = new DataColumn("节点名称", Type.GetType("System.String"));
                dt.Columns.Add(did);
                dt.Columns.Add(dParentID);
                dt.Columns.Add(dNodeName);
      
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(xmlPath);
                int Id = 1;
                int ParentId=0;
                //获取根节点
                XmlElement xmlRootElement=xmlDoc.DocumentElement;
                DataRow dr = dt.NewRow();
                dr["ID"] = Id++;
                dr["ParentID"] = 0;
                dr["节点名称"] = xmlRootElement.Name.ToString();
                dt.Rows.Add(dr);
                XmlNodeList xmlNodeList = xmlRootElement.ChildNodes;
                foreach (XmlElement xmlElement in xmlNodeList)
                {
                    dr = dt.NewRow();
                    dr["ID"] = Id++;
                    dr["ParentID"] = ParentId;
                    dr["节点名称"] = xmlElement.Name.ToString();
                    dt.Rows.Add(dr);
                    int parentId = Id-1;
                    //遍历该节点下面的子节点
                    XmlNodeList ChildNodeList = xmlElement.ChildNodes;
                    foreach (XmlNode xmlNode in ChildNodeList)
                    {
                        dr = dt.NewRow();
                        dr["ID"] = Id++;
                        dr["ParentID"] = parentId;
                        dr["节点名称"] = xmlNode.Name.ToString();
                        dt.Rows.Add(dr);
                    }        
                }
          this.treeList1.DataSource=dt;

  • 相关阅读:
    文件夹生成zip
    html 字符串 生成 pdf 完美解决中文不显示
    layui 数据表格+分页+搜索+checkbox+缓存选中项数据
    排序算法总结
    排序算法(10)--Distribution Sorting--分布排序[2]--Radix Sort--基数排序
    排序算法(8)--Merge Sorting--归并排序--Merge sort--归并排序
    [Android]在Dagger 2中使用RxJava来进行异步注入(翻译)
    [Android]使用Dagger 2进行依赖注入
    [Android]Android端ORM框架——RapidORM(v2.1)
    [Android]使用MVP解决技术债务(翻译)
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258794.html
Copyright © 2011-2022 走看看