SPQuery ricorsivo sui folders SharePoint
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.
da notare la linea con query.ViewAttributes = "Scope='Recursive'";
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);
}
}
}