使用客户端对象模型,下面的caml查询能够获取文件夹中的项目,但是看到了获取文件夹的方法"这些项目或文件所在的字段值。
+ "<Query>"
+ " <Where>"
+ " <Eq><FieldRef Name='FSObjType' /><Value Type='int'>0</Value></Eq>"
+ " </Where>"
+ "</Query>"
我的检索文件夹信息的代码......
string strFieldValue = string.Empty;
CamlQuery qryFolder = new CamlQuery();
qryFolder.ViewXml = @"<View Scope='RecursiveAll'>"
+ "<Query>"
+ " <Where>"
+ " <And>"
+ " <Eq><FieldRef Name='FSObjType' /><Value Type='int'>1</Value></Eq>"
+ " <Eq><FieldRef Name='FileRef' /><Value Type='Text'>"+folderName+"</Value></Eq>"
+ " </And>"
+ " </Where>"
+ "</Query>"
+ "<ViewFields>"
+ "<FieldRef Name='Title' /><FieldRef Name='FieldValue' /><FieldRef Name='FileRef' />"
+ "</ViewFields>"
+ "</View>";
qryFolder.FolderServerRelativeUrl = rootFolder;//+@"/"+folderName;
ListItemCollection itemColl = docs.GetItems(qryFolder);
context.Load(itemColl);
context.ExecuteQuery();
if (itemColl.Count == 1)
{
strFieldValue = itemColl[0]["FieldValue"].ToString();
}
return strFieldValue
当我使用caml查询时,我得到一个值,FSObjType是1,仅用于文件夹...但不幸的是,当FSObjType的查询为0时,我得到null,只查询文件。我的要求是即使你处于文件级别也能获得一个值...不确定我是否正确使用CAML查询...
谢谢, 贾米尔
答案 0 :(得分:0)
添加到您"<View Scope=\"RecursiveAll\"> "
之前查询此+ "<Query>"
更多详情https://sharepoint.stackexchange.com/questions/29405/get-items-under-folder-caml