Вы не можете воссоздать список с указанным идентификатором GUID.
Но из вашего комментария вы тут не согласны, если единственная причина, по которой вам нужно сбросить идентификатор на 1, это помочьс вашей пустой операцией со списком.
XML, возвращенный из GetListItems () , имеет формат
<listitems xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"
xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<rs:data ItemCount="4">
<z:row ows_Number_Field="6555.00000000000"
ows_Created="2003-06-18T03:41:09Z"
ows_ID="100" ows_owshiddenversion="3" />
<z:row ows_Number_Field="78905456.0000000"
ows_Created="2003-06-18T17:15:58Z"
ows_ID="101" ows_owshiddenversion="2" />
...
</rs:data>
</listitems>
Так что «надежно» проходить через это что-то вроде(не проверено, но вы поняли)
// Call GetListItems and setup XmlDocument with results
System.Xml.XmlNode nodeListItems =
listService.GetListItems
(listName, viewName,query,viewFields,rowLimit,queryOptions,null);
/*Loop through each node in the XML response and display each item.*/
foreach (System.Xml.XmlNode listItem in nodeListItems)
{
Console.WriteLine("ID:{0}",listItem.getAttribute("ows_ID"));
}
См. эту статью MSDN для получения дополнительной информации
Далее - удалить все эти записи одним вызовом, который вы можете сделатьпакетное обновление, отправив UpdateListItems путем создания фрагмента XML, например, в приведенном выше цикле for.
<Batch>
<Method ID='1' Cmd='Delete'><Field Name='ID'>100</Field></Method>
<Method ID='2' Cmd='Delete'><Field Name='ID'>101</Field></Method>
</Batch>
Notes
- "ID метода"= 'XXX' ... "должно быть последовательно +1 для каждого пакетного метода.
- " Имя поля = 'ID'100 ... "соответствует идентификаторам списка, который вы нашли в цикле forвыше.