none
關於 TEXT NODE 的遞迴追蹤的問題 RRS feed

  • 問題

  •   #region 區塊判斷2 
            private void btn_GroupInfo2_Click(object sender, EventArgs e)
            {
                PrintRecursive2(treeView1.Nodes[0].Nodes[0]);
            }
            private void PrintRecursive2(TreeNode treeNode)
            {
                if (treeNode.Nodes.Count == 0)
                {
                    TreenodeGroup(treeNode);
                }
    
                // 遞迴,依序尋找節點
                foreach (TreeNode tn in treeNode.Nodes)
                {
                    PrintRecursive2(tn);
                }
            }
            /// <summary>
            /// 算樹狀結構的文字節點長度
            /// </summary>
            public int TreenodeGroup(TreeNode node, int weight = 0)
            {
                //往上尋找
                if (node.Parent != null)
                {
    
                    TreeNode parentnode = node.Parent;
                    int index = node.Index;
                    foreach (TreeNode childnode in parentnode.Nodes)
                    {
                        if (childnode.Parent.FullPath.Equals(node.Parent.FullPath)) //如果 兩個node路徑相同時回傳 權重值 
                        {
                            weight = node.Text.Length / parentnode.Nodes.Count; // weight為權重值
                            return TreenodeGroup(node.Parent, weight);
                        }
                        else //不同時 則 往另一個路徑看
                        {
                            index += 1;
                        }
                    }
                    return TreenodeGroup(node.Parent, weight);
                }
                //直到上層節點沒有為止
                else
                {
                    return weight;
                }
    
            }
            #endregion

    請問該如何直接跳開 TreeNode Group的函數?

    這樣一直追蹤到 HTML 結束

    2014年1月6日 下午 02:02