Un esempio di come fare query ricorsive su una lista SharePoint 2007 (WSS3 - MOSS).

In questo caso cerco sulla lista Pages, indipendentemente dalle cartelle/folders, tutti i file che hanno nome View.aspx.
C#
string url = "http://localhost/sito1/";
using (SPSite site = new SPSite(url))
{
    using (SPWeb web = site.OpenWeb())
    {
        string strQuery = @"<Where><Eq><FieldRef Name=""FileLeafRef"" /><Value Type=""File"">View.aspx</Value></Eq></Where>";
        SPDocumentLibrary doc = (SPDocumentLibrary)web.Lists["Pages"];
        SPQuery query = new SPQuery();
        query.Query = strQuery;
        query.ViewAttributes = "Scope='Recursive'";
        SPListItemCollection items = doc.GetItems(query);
        foreach (SPListItem item in items)
        {
            Console.WriteLine("- " + item.Url);
        }
    }
}
da notare la linea con query.ViewAttributes = "Scope='Recursive'";
Potrebbe interessarti anche: