Используя следующий код:
using (SPSite site = new SPSite("http://localhost/"))
{
using (SPWeb web = site.OpenWeb())
{
foreach (SPList list in web.Lists)
{
if (list.OnQuickLaunch)
{
Console.WriteLine(list.Title);
foreach (SPListItem item in list.Folders)
{
Console.WriteLine("- " + item.Title);
}
}
}
}
}
и вывод:
... various lists ...
Shared Documents
- Minutes
- Second Level
Я получаю все папки обратно в виде плоского списка - никаких реальных указаний на то, что может произойти, если папка создается как дочерняя для другой папки. Разговаривая с Visual Studio, я вижу несколько интересных свойств, которые могут дать мне некоторые подсказки (например, item.Url и считать / символы или item.Folder.ParentFolder по сравнению с чем-то?), Но должен быть более простой способ.
Спасибо!