C# SharePoint Lists.asmx UpdateListItems SET Field1=新值,其中Field1=旧值(要更新的筛选依据字段)

C# SharePoint Lists.asmx UpdateListItems SET Field1=新值,其中Field1=旧值(要更新的筛选依据字段),c#,sharepoint,list,service,C#,Sharepoint,List,Service,我想做的似乎很简单,我有一个应用程序,可以通过SharePoint Services与一些SharePoint(MOSS 2007)列表交互。在一次服务呼叫中,我想更新一个或多个列表项。问题是我只想更新那些要更新的字段等于旧值的项。我的想法是使用Lists.UpdateListItems和filter,然后更新,但我还没有找到它的语法 在pseudo中:将[ListA]中所有项目的[Name]更新为“NewName”,其中[Name]=“OldName” 我希望避免的一种解决方案是:获取Name

我想做的似乎很简单,我有一个应用程序,可以通过SharePoint Services与一些SharePoint(MOSS 2007)列表交互。在一次服务呼叫中,我想更新一个或多个列表项。问题是我只想更新那些要更新的字段等于旧值的项。我的想法是使用Lists.UpdateListItems和filter,然后更新,但我还没有找到它的语法

在pseudo中:将[ListA]中所有项目的[Name]更新为“NewName”,其中[Name]=“OldName”

我希望避免的一种解决方案是:获取Name=“OldName”所在的所有列表项的ID,并对它们进行迭代,为每个列表项进行单独的服务调用,以更新Name=“NewName”


我无法引用Microsoft.SharePoint程序集,因此理想情况下这是在一个服务调用中

您必须拨打两个电话,一个用于检索匹配的项目,另一个用于更新


这可能相当复杂,因此我在这里写了一篇博客文章(包括必要的代码):

获取ID和迭代有什么问题?这是一个性能问题吗?是的,我不想为找到的每一条记录都点击服务器,我希望在一个请求中点击它。谢谢你的帮助,它对我有效,你的帖子非常有用。我希望SharePoint services能够在一次服务调用中提供一种方法来实现这一点,但目前这是功能性的。