treeview里打开xml的索引怎么隐藏些节点

.Net技术 码拜 8年前 (2017-04-24) 1500次浏览
treeview里打开xml的索引怎么隐藏些节点
只想显示红框里面的内容。

  private void toolStripButton1_Click(object sender, EventArgs e)
        {
            //从XML中读取数据到TreeView
            if (this.dlgOpen.ShowDialog() == DialogResult.OK)
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(dlgOpen.FileName);
                XmlNodeList xmlNodes = xmlDoc.DocumentElement.ChildNodes;
                this.treeView1.BeginUpdate();
                this.treeView1.Nodes.Clear();
                XmlNode2TreeNode(xmlNodes, this.treeView1.Nodes);
                this.treeView1.EndUpdate();
            }
        }
         private void XmlNode2TreeNode(XmlNodeList xmlNode, TreeNodeCollection treeNode)
         {
            foreach (XmlNode var in xmlNode)
            {
                if (var.NodeType != XmlNodeType.Element)
                {
                    continue;
                }
                TreeNode newTreeNode = new TreeNode();
                newTreeNode.Text = var.Attributes["Name"] != null ? var.Attributes["Name"].Value : null;
                if (var.HasChildNodes)
                {
                    if (var.ChildNodes[0].NodeType == XmlNodeType.CDATA)
                    {
                        newTreeNode.Tag = var.ChildNodes[0].Value;
                    }
                    XmlNode2TreeNode(var.ChildNodes, newTreeNode.Nodes);
                }
                treeNode.Add(newTreeNode);
            }
            
        }
解决方案

40

XmlNodeList xmlNodes = xmlDoc.DocumentElement.ChildNodes;
改成:
XmlNodeList xmlNodes = xmlDoc.DocumentElement.ChildNodes[0].ChildNodes[1].ChildNodes;

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明treeview里打开xml的索引怎么隐藏些节点
喜欢 (0)
[1034331897@qq.com]
分享 (0)