我知道文件夹名称 我想要在Sharepoint文档库中创建的该文件夹的ID。 如何编写CAML Query来搜索文档库以获取文件夹及其ID Plz对此有所帮助..
Rushikesh
答案 0 :(得分:1)
SPQuery q = new SPQuery();
q.MeetingInstanceId = -1; //in case your document library is in meeting workspace, query items from all meetings
q.ViewAttributes = "Scope='RecursiveAll'"; //Query all folders (if this is not set, only current folder will be queryied)
q.Query =
<Where>
<And>
<BeginsWith>
<FieldRef Name='ContentTypeId' />
<Value Type='Text'>0x0120</Value>
</BeginsWith>
<Eq>
<FieldRef Name='Title' />
<Value Type='Text'>Folder name</Value>
</Eq>
</And>
</Where>
然后执行查询并获取id:
SPListItemCollection items = list.GetItems(q);
if (items.Count > 0)
int folderId = items[0].ID
您还可以使用SPList.Folders属性
枚举列表文件夹答案 1 :(得分:0)
我知道这是一个旧线程,但我在SP 2010环境中尝试了上述示例并且它没有工作,所以我想我会添加我的工作CAML。我只使用了ContentType = Folder
,而不是使用ContentTypeID字段<Where>
<And>
<Eq>
<FieldRef Name='ContentType'/>
<Value Type='Text'>Folder</Value>
</Eq>
<Eq>
<FieldRef Name="Title"/>
<Value Type='Text'>Folder Name</Value>
</Eq>
</And>
</Where>