我在文件夹下有组件。
需要遵循什么代码/代码语法,以循环浏览具有组件的文件夹,以便我可以从不同组件中提取值。
谁能帮帮我。
我使用了以下代码
**Folder compFilter= new Filter();
Folder folder=engine.GetObject(webdavurl) as Folder;
foreach(Component comp in folder.GetItems(CompFilter))**
它不起作用。请提出一些解决方案。
我在文件夹下有组件。
需要遵循什么代码/代码语法,以循环浏览具有组件的文件夹,以便我可以从不同组件中提取值。
谁能帮帮我。
我使用了以下代码
**Folder compFilter= new Filter();
Folder folder=engine.GetObject(webdavurl) as Folder;
foreach(Component comp in folder.GetItems(CompFilter))**
它不起作用。请提出一些解决方案。
逻辑如下:
如前所述,如果您让我们知道您可能会获得哪个 API 代码示例。上述逻辑适用于任何 API。
[更新]
请不要使用Filter
,这个类在 Tridion 2011 中被弃用,取而代之的是StronglyTypedFilter
“家庭”。
Session session = engine.GetSession();
string folderUrl = "/my/long/webdav";
OrganizationalItemItemsFilter filter = new OrganizationalItemItemsFilter(session)
{ItemTypes = new[] {ItemType.Component}};
Folder folder = (Folder)session.GetObject(folderUrl);
foreach (Component component in folder.GetItems(filter))
{
// Do something with the component
}
如何使用 2011 TOM.NET API 循环文件夹并访问组件的简单示例如下:
OrganizationalItemItemsFilter filter = new OrganizationalItemItemsFilter(folder.Session)
{
ItemTypes = new[] {ItemType.Component},
Recursive = false
};
foreach (Component comp in folder.GetItems(filter))
{
// get fields collection of component
ItemFields fields = new ItemFields(comp.Content, comp.Schema);
}
但是,如果您还没有走到这一步,我强烈建议您查看SDL Tridion World上的所有构建块(它们包含大量示例代码,可帮助您了解如何使用不同的 API)或遵循可用的培训并且不要忘记文档(需要登录,有关如何访问的详细信息,请参见http://docportal.sdl.com/sdltridion )