我正在使用客户端对象模型(C#)来检索包含子文件夹的文档库中的所有列表项。我查阅了MSDN文档,但卡在了为什么无法获取字段属性上,或者我是否做对了这件事情。
我收到的错误是“foreach (File f in subFolder.Files)”集合可能没有初始化的错误。有没有办法使用CSOM获取文档库中每个子文件夹中所有文档的字段值?
我知道您也可以使用列表项强类型化字段值,例如(listItem ["fieldName"]). 那么我应该选择这条路吗?
NetworkCredential credentials = System.Net.CredentialCache.DefaultNetworkCredentials;
ClientContext clientcontext = new ClientContext(Resources.defaultSPSite);
clientcontext.Credentials = credentials;
//Load Libraries from SharePoint
//Web site = clientcontext.Web;
clientcontext.Load(clientcontext.Web.Lists);
clientcontext.ExecuteQuery();
//List sharedDocumentsList = clientcontext.Web.Lists.GetByTitle("TestLDOCS");
//CamlQuery camlQuery = new CamlQuery();
//camlQuery.ViewXml = @"<View Scope='Recursive'><Query></Query></View>";
foreach (List list in clientcontext.Web.Lists)
{
clientcontext.Load(list);
clientcontext.ExecuteQuery();
//list.TemplateFeatureId.ToString().Equals("") &&
string baseType = list.BaseType.ToString();
string listTitle = list.Title.ToString();
if (list.BaseType.ToString().Equals("DocumentLibrary", StringComparison.InvariantCultureIgnoreCase) && list.Title.ToString().Equals("TestLDOCS", StringComparison.InvariantCultureIgnoreCase))
{
foreach (Folder subFolder in list.RootFolder.Folders)
{
foreach (File f in subFolder.Files)
{
Console.WriteLine((string) f.Title);
}
}
}
}
}
我收到的错误是“foreach (File f in subFolder.Files)”集合可能没有初始化的错误。有没有办法使用CSOM获取文档库中每个子文件夹中所有文档的字段值?
我知道您也可以使用列表项强类型化字段值,例如(listItem ["fieldName"]). 那么我应该选择这条路吗?
items.Select(i => i.File)
上遇到了 NotSupportedException。 - Santhos