Ejemplo n.º 1
0
        //private void DataBindToXml(XmlDocument xdoc)
        //{
        //    XmlNodeList nodes = xdoc.DocumentElement.ChildNodes;

        //    foreach (XmlNode node in nodes)
        //    {
        //        if (node.NodeType == XmlNodeType.Element)
        //        {
        //            TreeNode treeNode = new TreeNode();
        //            Nodes.Add(treeNode);

        //            LoadXmlNode(treeNode, node);


        //        }
        //    }
        //}

        private void DataBindToXml(TreeNode treeNode, XmlNodeList nodes)
        {
            foreach (XmlNode node in nodes)
            {
                // Only process Xml elements (ignore comments, etc)
                if (node.NodeType == XmlNodeType.Element)
                {
                    TreePreNodeEventArgs preArgs = new TreePreNodeEventArgs(node);

                    OnPreNodeDataBound(preArgs);

                    // 事件处理函数要求取消添加本节点
                    if (!preArgs.Cancelled)
                    {
                        TreeNode childNode = new TreeNode();
                        if (treeNode == null)
                        {
                            Nodes.Add(childNode);
                        }
                        else
                        {
                            treeNode.Nodes.Add(childNode);
                        }

                        childNode.ReadXmlAttributes(node.Attributes, this);

                        OnNodeDataBound(new TreeNodeEventArgs(childNode, node));


                        DataBindToXml(childNode, node.ChildNodes);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        protected void LoadXmlNode(TreeNode treeNode, XmlNode xmlNode)
        {
            treeNode.ReadXmlAttributes(xmlNode.Attributes, this);

            foreach (XmlNode node in xmlNode.ChildNodes)
            {
                // Only process Xml elements (ignore comments, etc)
                if (node.NodeType == XmlNodeType.Element)
                {
                    TreeNode childNode = new TreeNode();
                    treeNode.Nodes.Add(childNode);

                    LoadXmlNode(childNode, node);

                    //OnNodeDataBound(oNewNode, node);
                }
            }
        }