当前位置 : 主页 > 网页制作 > xml >

Tridion API调用以获取包含Structure组的Xml和具有某种层次关系的Page节点

来源:互联网 收集:自由互联 发布时间:2021-06-13
我正在寻找一个Tridion API调用来获取包含所有结构组及其下面的页面的 XML,并具有某种层次关系.截至目前,我无法在SDL Tridion文档中找到此类API调用.目前我们正在使用以下API调用来获取结
我正在寻找一个Tridion API调用来获取包含所有结构组及其下面的页面的 XML,并具有某种层次关系.截至目前,我无法在SDL Tridion文档中找到此类API调用.目前我们正在使用以下API调用来获取结构组RAW XML的列表:

Filter filter = new Filter();
 filter.Conditions["ItemType"] = 4;       // Only structure groups
 filter.Conditions["Recursive"] = true;
 XmlElement structureGroupList = page.ContextRepository.GetListOrganizationalItems(filter);

然后我们遍历每个结构组以获取包含在各个结构组下面的Pages节点的XML.

OrganizationalItemItemsFilter pageItemFilter = null;
pageItemFilter = new OrganizationalItemItemsFilter(this.session);
pageItemFilter.ItemTypes = new[] { ItemType.Page };
pageItemFilter.Recursive = false;
XmlElement pageElements = structureGroup.GetListItems(pageItemFilter);

随着结构组数量的增加,Tridion API调用的数量不断增加,以获取其中的相应页面.这导致DB服务器端的性能问题,其中CPU的峰值达到50%.

是否有单个API调用可以获取结构组和具有某种关系的Pages,以便我们可以使用单个API调用轻松地对它们进行排序.

提前致谢.

您可以将过滤器的IncludeRelativeWebDavUrlColumn属性设置为true以获取一些其他信息
网友评论