Tridion 获取发布的所有元数据架构

Tridion 获取发布的所有元数据架构,tridion,tridion-2011,Tridion,Tridion 2011,我是Tridion核心服务的新手,所以这可能是一个简单的问题。我想通过传递发布ID来获取所有元数据架构。如果有人这样做过,请回复 提前感谢我建议您从[此处][1]查看示例代码(需要登录),然后先试用自己的代码 [http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_95D8F90693834AF089FEBCDC0347D04D][1] 或者试试这个 RepositoryIte

我是Tridion核心服务的新手,所以这可能是一个简单的问题。我想通过传递发布ID来获取所有元数据架构。如果有人这样做过,请回复


提前感谢

我建议您从[此处][1]查看示例代码(需要登录),然后先试用自己的代码

[http://sdllivecontent.sdl.com/LiveContent/content/en-US/SDL_Tridion_2011_SPONE/concept_95D8F90693834AF089FEBCDC0347D04D][1]

或者试试这个

RepositoryItemsFilterData filterData = new RepositoryItemsFilterData();
filterData.ItemTypes = new[]
                       {
                        ItemType.Schema
                       };
filterData.Recursive = true;
XElement resultXml = client.GetListXml(publicationId, filterData);

然后,您需要在从上述xml获取ID后创建每个模式对象,并检查它是否为元数据模式。

好的,下面是一个示例。GetCoreServiceClient返回一个SessionAwareCoReserveClient,其中已为正确的用户调用了模拟

public static IdentifiableObjectData[] GetMetadataSchemas(string publicationId)
{
    using (var client = GetCoreServiceClient())
    {
        var filter = new RepositoryItemsFilterData
        {
            SchemaPurposes = new[] { SchemaPurpose.Metadata },
            Recursive = true,
            ShowNewItems = false,
            ItemTypes = new[] { ItemType.Schema }
        };

        return client.GetList(publicationId, filter);
    }
}
你已经试过什么了?通常,在堆栈溢出和互联网络上都有大量使用核心服务从Tridion检索项目的示例。尝试其中一些,看看它们如何符合您的需求。如果你陷入困境,我们将尽最大努力让你“脱身”。