如何使用 SPQuery 从 SharePoint 文档库获取单个项目(不使用 for 循环)

本文关键字:for 循环 项目 单个 SPQuery 何使用 SharePoint 文档 获取 | 更新日期: 2023-09-27 18:37:03

有时只需要从大型文档库中获取一个 SharePoint 项。那么,如何使用SPQuery(不使用for循环)从SharePoint文档库中获取单个项目?

如何使用 SPQuery 从 SharePoint 文档库获取单个项目(不使用 for 循环)

SPList 类有几种仅获取单个项目的方法:

  • GetItemByIdSelectedFields
  • GetItemByIdAllFields
  • GetItemById
  • GetItemByUniqueId

除了最后一个,他们需要项的整数ID(SPListItem的ID属性)。最后一个使用 guid ID(SPListItem 的 UniqueId 属性)。

以下是实现上述要求的 C# 代码:

public SPListItemCollection GetSpecificLibraryItem(fileName)
{
SPList list = web.Lists["MyDocName"];
SPQuery dQuery = new SPQuery();
dQuery.ViewAttributes = "Scope='"Recursive'"";
string QueryString = "<Where>" +
                      "<Eq>" +
                        "<FieldRef Name='"FileLeafRef'"/>" +
                        "<Value Type='"Text'">" + fileName + "</Value>" +
                      "</Eq>" +
                     "</Where>";
         dQuery.Query = QueryString;
        SPListItemCollection collListItems = list.GetItems(dQuery);
  return collListItems;
}