Возможно ли получить список всех папок в библиотеке документов SharePoint с помощью SPQuery?Перечислить все папки в списке SharePoint рекурсивно
Что-то вы могли бы получить в файловой системе, если вы открыли окно командной строки и побежал
dir /b /A:D /S
Проблема, если вы создаете простую SPQuery и установить viewAttributes в Scope='RecursiveAll'
, набор результатов содержит элементы, но не папки.
Или я что-то не хватает?
Обновление: причина этого вопроса в том, что я должен создать решение, где имеет смысл «пакет файлов».
Когда мой клиент говорит о «документе», он фактически означает объект, который может состоять из нескольких файлов и общего набора метаданных для этих файлов.
Например, документ может быть назван «Письмо моей бабушке» (атрибуты: адрес бабушки, название письма), но он состоит из нескольких файлов: фактической буквы в документе MS Word и изображения в формате JPEG.
Итак, идея заключалась в том, что я мог бы создать тип контента, полученный из папки, и добавить некоторые поля к этому типу контента (адрес, название). Все файлы, помещенные в эту папку, естественно станут частями «документа».
Поскольку мы ожидаем, что таких документов будет много, мы также создаем иерархию папок обычного типа папок.
Теперь мы переходим к вопросу: как мне показать мой клиент как «Недавние документы»? Это должно работать рекурсивно, чтобы перечислить все «документы». Рекурсия через объекты SPFolder
слишком медленная из-за количества запросов, которые необходимо выполнить. Мы надеялись на рекурсивный SPQuery
, но, похоже, это не разрешимо.
контратип http://stackoverflow.com/questions/1557675/caml-query-that-includes-folders-in-result-set К сожалению, не ясно в этой должности, если она была решена или не – Ryan
Есть ли какая-то конкретная причина, по которой вы пытаетесь запросить все папки, а не итерации через SPList.Folders? Сейчас я выполняю некоторые тесты запросов, но мне это интересно. –
@ccornet, да, я не хочу делать это итеративно. Обновлено мое сообщение, чтобы показать подробности. – naivists