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;