How can I get all child structure groups given a structure group TCM URI with Core Service?
I tried using this code:
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);
}
But I got an error saying “Unexpected item type: StructureGroup”.
Starting from the Publication’s URI, this works:
The trick is always to find the correct filter type, which in this case is
RepositoryItemsFilterData.Non-working sample
Starting from the Structure Group’s URI, this returns the direct children Structure Groups. Note that that
Recursive = trueseems to be ignored here.