And*_*mon 5 tridion tridion-2011
如何在给定具有核心服务的结构组TCM URI的情况下获取所有子结构组?
我尝试使用此代码:
ItemsFilterData sgFilter = new RepositoryItemsFilterData 
    { ItemTypes = new[] { ItemType.StructureGroup }, 
      Recursive = true, 
      BaseColumns = ListBaseColumns.Id };
XElement listXml;
using (CoreServiceClient client = _coreServiceProvider.GetCoreServiceClient())
{
    listXml = XElement.Parse(
              client.ProxyClient.GetListXml(structureGroupUri, sgFilter)
              .OuterXml);
}
Run Code Online (Sandbox Code Playgroud)
但是我收到一条错误,上面写着"意外的项目类型:StructureGroup".
从Publication的URI开始,这有效:
client.GetListXml("tcm:0-10-1", new RepositoryItemsFilterData { 
    ItemTypes = new[] { ItemType.StructureGroup }, 
    Recursive = true, 
    BaseColumns = ListBaseColumns.Id 
})
Run Code Online (Sandbox Code Playgroud)
技巧总是找到正确的过滤器类型,在这种情况下是RepositoryItemsFilterData.
从结构组的URI开始,返回直接子结构组.请注意,这Recursive = true似乎在这里被忽略.
client.GetListXml("tcm:10-328-4", new OrganizationalItemItemsFilterData { 
    ItemTypes = new[] { ItemType.StructureGroup }, 
    Recursive = true, 
    BaseColumns = ListBaseColumns.Id 
})
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           888 次  |  
        
|   最近记录:  |