C# 我是否可以删除Sharepoint列表,然后使用相同的GUID重新创建它?
我正在尝试使用Sharepoint Web服务引用创建一个C#程序,该程序将每天接受用户输入并更新列表。数据每天都可能不同,因此我需要一种可靠的方法来删除列表中的每一项,然后再为新项发送update语句 删除条目的唯一方法是引用其条目ID号。我试着创建一个循环,生成一个覆盖ID 1-50的delete语句,但是由于列表总是递增,所以只有在50个项目通过时才会生效。在我的谷歌搜索中,我发现将列表重置为ID 1的唯一方法是删除它并重新创建它。不幸的是,如果我这样做,它将有一个不同的GUID,我的程序将不再能够调用它的下一次运行C# 我是否可以删除Sharepoint列表,然后使用相同的GUID重新创建它?,c#,xml,sharepoint,C#,Xml,Sharepoint,我正在尝试使用Sharepoint Web服务引用创建一个C#程序,该程序将每天接受用户输入并更新列表。数据每天都可能不同,因此我需要一种可靠的方法来删除列表中的每一项,然后再为新项发送update语句 删除条目的唯一方法是引用其条目ID号。我试着创建一个循环,生成一个覆盖ID 1-50的delete语句,但是由于列表总是递增,所以只有在50个项目通过时才会生效。在我的谷歌搜索中,我发现将列表重置为ID 1的唯一方法是删除它并重新创建它。不幸的是,如果我这样做,它将有一个不同的GUID,我的程序
有什么解决方案我没有看到吗?您不能用指定的GUID重新创建列表 但是从您的评论来看,如果您需要将ID重置为1的唯一原因是帮助您完成空列表操作,那么您在这里就偏离了正切 从返回的XML的格式为
<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>
更多灵感请参见此图
进一步—要通过一次调用删除所有这些记录,您可以通过在上面的for循环中构建一个类似这样的XML片段来发送,从而执行批处理更新
<Batch>
<Method ID='1' Cmd='Delete'><Field Name='ID'>100</Field></Method>
<Method ID='2' Cmd='Delete'><Field Name='ID'>101</Field></Method>
</Batch>
100
101
注释
- “方法ID='XXX'…”必须是 对于每个批次方法,顺序+1
- “字段名='ID'100…”匹配 您在中找到的列表的ID 对于上面的循环
<Batch>
<Method ID='1' Cmd='Delete'><Field Name='ID'>100</Field></Method>
<Method ID='2' Cmd='Delete'><Field Name='ID'>101</Field></Method>
</Batch>