Batch Delete

批量删除

SPWeb ssweb = SPContext.Current.Web;
ssweb.AllowUnsafeUpdates = true;
SPQuery query = new SPQuery();
query.Query = "<Where><Eq><FieldRef Name='ItemGuid' /><Value Type='Text'>" + ItemGuid + "</Value></Eq></Where><OrderBy><FieldRef Name='Modified' Ascending='True' /></OrderBy>";
SPListItemCollection HistoryColls = ServerBuilder.GetListItemCollection(ssweb, History, query, string.Empty);
StringBuilder sbDelete = new StringBuilder();
sbDelete.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?><Batch>");
foreach (SPListItem i in HistoryColls)
{
   sbDelete.Append("<Method>");
   sbDelete.Append("<SetList Scope=\"Request\">" + i.ParentList.ID + "</SetList>");
   sbDelete.Append("<SetVar Name=\"ID\">" + Convert.ToString(i.ID) + "</SetVar>");
   sbDelete.Append("<SetVar Name=\"Cmd\">Delete</SetVar>");
   sbDelete.Append("</Method>");
}
sbDelete.Append("</Batch>");
ssweb.ProcessBatchData(sbDelete.ToString());

SPDocumentLibrary FilesLib = ssweb.Lists[Files] as SPDocumentLibrary;
string FilesFolderUrl = ssweb.Url + @"/" + FilesLib.Title + @"/";
SPFolder Folder = ssweb.GetFolder(FilesFolderUrl + ItemGuid);
if (Folder != null && Folder.Exists == true)
{
    Folder.Recycle();
}
 ssweb.AllowUnsafeUpdates = false;

 

posted @ 2018-06-21 17:16  JackHu88  阅读(176)  评论(0编辑  收藏  举报