• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

O2MFM

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

读入XML文件生成TreeView,并在树的每个节点加上CheckBox

XML文件

<?xml version="1.0" encoding="utf-8" ?>
<!-- -->
<Transaction>
  <上传事务>
    <专题数据上传>
    </专题数据上传>
  </上传事务>
  <下发事务>
    <基础数据下发>
    </基础数据下发>
    <专题数据下发>
      <事务1>
        <数据集1>
          <图层1></图层1>
          <图层2></图层2>
          <图层3></图层3>
        </数据集1>
      </事务1>
      <事务2>
        <地理实体500>
          <水系_500></水系_500>
          <植被_500></植被_500>
          <居民地_500></居民地_500>
          <交通_500></交通_500>
          <行政区划_500></行政区划_500>
          <道路中心线_500></道路中心线_500>
        </地理实体500>
      </事务2>
    </专题数据下发>
  </下发事务>
</Transaction>

 

主窗体函数

private void Form1_Load(object sender, EventArgs e)
        {
            XmlDocument myXml = new XmlDocument();//新建一个XmlDocument类用于加载XML文件
            myXml.Load(@"D:\Visual Studio 2008\Projects\DownLoadData\DownLoadData\TransactionTree.xml");//指定需加载的XML文件的路径名称
            XmlNode root = myXml.DocumentElement;//获取XML文件的根节点

            TreeNode tRoot = new TreeNode();
            tRoot = treeView1.Nodes.Add(root.Name);//TreeView添加根节点
            CreateTreeFromXml(root,tRoot);//传值,并且调用递归建树函数
            treeView1.ExpandAll();//设置生成的TreeView节点全部展开
            progressBar1.Hide();
            treeView1.CheckBoxes = true;
        }

 

建树函数

//读取Xml文件递归新建TreeView
       public void CreateTreeFromXml(XmlNode node, TreeNode tNode)
       {
           if (node.HasChildNodes)//判断当前XML节点下有无子节点
           {
               foreach (XmlNode subNode in node.ChildNodes)//遍历特定XML文件节点的所有子节点
               {
                   TreeNode tempTreeNode = tNode.Nodes.Add(subNode.Name);//在树节点下添加子节点
                   CreateTreeFromXml(subNode, tempTreeNode);//递归调用
               }
           }
       }

 

最后效果

blog

大功告成!

posted on 2009-12-01 13:48  O2MFM  阅读(682)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3