读取术语库 TaxonomySession

来源:互联网 发布:暗黑破坏神3改数据 编辑:程序博客网 时间:2024/06/10 06:13

术语库就是企业元数据,在项目中可能会遇到读取termset生产webpart,我这里是生成的treeView,也可以生成标签云,这个自己写个算法,换膛不换药。

 using (SPSite site = SPContext.Current.Site)
                {
                    //获取术语集合
                    TaxonomySession session = new TaxonomySession(site);
                    //获取存储对象
                    TermStore termStore = session.DefaultSiteCollectionTermStore;
                    // 获取术语里的Group,术语总共分3层Group、TermSet、Term
                    GroupCollection groupColl = session.TermStores["Managed Metadata Service"].Groups;
                    //遍历Group
                    foreach (Group gr in groupColl)
                    {

//获取系统组下面的termset,根据需要修改条件
                        if (gr.Name != "系统")
                        {
                            TreeNode treeNode = new TreeNode();
                            treeNode.Text = "标签";
                            this.TagTree.Nodes.Add(treeNode);
                            TermSetCollection tms = gr.TermSets;
                            //遍历TermSet
                            foreach (TermSet tm in tms)
                            {
                                TreeNode nodes = new TreeNode();
                                nodes.Text = tm.Name.ToString();
                                createTermSet(tm.Terms, nodes);
                                treeNode.ChildNodes.Add(nodes);
                            }
                        }
                    }
                }

遍历出所有termset 、term

  public void createTermSet(TermCollection tmNode, TreeNode nodes)
        {
            //遍历Term
            foreach (Term tms in tmNode)
            {
                TreeNode termSetNode = new TreeNode();
                termSetNode.Text = tms.Name.ToString();
                nodes.ChildNodes.Add(termSetNode);
                createTermSet(tms.Terms, termSetNode);
            }
        }

 

我所写的,描述少些,但是都是我在项目中的代码,稍作修改直接能用。

原创粉丝点击